- 相關推薦
筆試題(數(shù)組與指針)
1.請說出const與#define 相比,有何優(yōu)點?
答案:1) const 常量有數(shù)據(jù)類型,而宏常量沒有數(shù)據(jù)類型,
筆試題(數(shù)組與指針)
。編譯器可以對前者進行類型安全檢查。而對后者只進行字符替換,沒有類型安全檢查,并且在字符替換可能會產(chǎn)生意料不到的錯誤。2) 有些集成化的調(diào)試工具可以對const 常量進行調(diào)試,但是不能對宏常量進行調(diào)試。
2.簡述數(shù)組與指針的區(qū)別?
數(shù)組要么在靜態(tài)存儲區(qū)被創(chuàng)建(如全局數(shù)組),要么在棧上被創(chuàng)建。指針可以隨時指向任意類型的內(nèi)存塊。
(1)修改內(nèi)容上的差別
char a[] = “hello”;
a[0] = ‘X’;
char *p = “world”; // 注意p 指向常量字符串
p[0] = ‘X’; // 編譯器不能發(fā)現(xiàn)該錯誤,運行時錯誤
(2) 用運算符sizeof 可以計算出數(shù)組的容量(字節(jié)數(shù)),
資料共享平臺
《筆試題(數(shù)組與指針)》(http://m.msguai.com)。sizeof(p),p 為指針得到的是一個指針變量的字節(jié)數(shù),而不是p 所指的內(nèi)存容量。C++/C 語言沒有辦法知道指針所指的內(nèi)存容量,除非在申請內(nèi)存時記住它。注意當數(shù)組作為函數(shù)的參數(shù)進行傳遞時,該數(shù)組自動退化為同類型的指針。char a[] = "hello world";
char *p = a;
cout<< sizeof(a) << endl; // 12 字節(jié)
cout<< sizeof(p) << endl; // 4 字節(jié)
計算數(shù)組和指針的內(nèi)存容量
void Func(char a[100])
{
cout<< sizeof(a) << endl; // 4 字節(jié)而不是100 字節(jié)
}
【筆試題數(shù)組與指針】相關文章:
在C語言中什么是指針和數(shù)組等價09-28
C++筆試題:關于鏈表和指針09-16
360筆試題目06-27
筆美國國家儀器試題目09-23
搜狐產(chǎn)品筆歸分享筆試題目07-05
什么是數(shù)組名07-15
PHP中如何創(chuàng)建和修改數(shù)組08-11
如果NULL和0作為空指針常數(shù)是等價的,如何選擇10-19
新浪筆經(jīng)04-27
C語言中一個結構不能包含指向自己的指針09-17