1樓:匿名使用者
第一和第三個,p是指標,所以大小肯定是4
第二個p是陣列,hello!加上前面的空格一共是7個位元組,再加上隱藏的字串結束符,一共8個位元組。所以大小是8
2樓:匿名使用者
char *p=」hello!」;
void *p=malloc(100);
的話,結果一樣,sizeof(p) 都是4(vc6下的話,tc的話是2)
char p=」hello!」;
的話,結果一樣,sizeof(p)是7
3樓:匿名使用者
1、char *p="hello!";
那麼sizeof(p) =4。因為p是指標。指標一般在32位系統占用4位元組。
2、 char p="hello!";
那麼sizeof(p) =7。因為p是字元陣列。是連續的空間包含字元結束符'\0'共7個位元組。
3、void *p=malloc(100);
那麼sizeof(p) =4。因為p是指標。指標一般在32位系統占用4位元組。
4樓:匿名使用者
第乙個答案是4,指標固定大小為4
第二個為7,靜態陣列的大小
第三個sizeof操作符不能返回動態開闢的陣列或形引數組的大小。
5樓:匿名使用者
char *p=」hello!」; //sizeof(p) =4
char p=」hello!」; //sizeof(p) =7void *p=malloc(100);// sizeof(p) =4
程式實際確認結果,肯定對
#include
#include
int main()
char *getmemory(void){ char p[] = ""hello world""; return p; }
6樓:墨汁諾
選c因為p的生命週期在getmemory函式執行完了就被銷毀了,str指向的是個野指標。
getmemory 並不能傳遞動態記憶體,test 函式中的 str 一直都是 null。strcpy(str, "hello world");將使程式崩潰。篡改動態記憶體區的內容,後果難以預料,非常危險,因為free(str);之後,str 成為野指標。
if(str != null)語句不起作用。
7樓:匿名使用者
選c,可能是亂碼,也有可能是正常輸出,因為getmemory返回的是指向「棧記憶體」的指標,該指標的位址不是null,但其原來的內容已經被清除,新內容不可知,程式設計師面試寶典裡有專門講該部分知識的。
8樓:雪寫江山
答案是d, 我確定 因為free(str)是可以無限次的通過的,上邊的p是子函式的乙個形式引數,不會改變str的值,因此str仍然為null。free(null)沒有任何問題。
最後輸出.。
求歌名求歌名,求歌名,求歌名,
曲目 放牛party 演唱 張家瑋 ps 送給我最愛的寶貝 群 it s party it s party it s party it s party it s party it s party it s party it s party 還是不懂溫柔如何偽裝 但至少朋友都誇我健康 柔弱的份子在我基...
問道高手進,急求急求急求急求急求急求急求急求急求急求急求急求
一看lz真是大方啊,130分我能不心動嗎?我是黃鶴樓一個小法金,曾經花了些rmb,現在成鐵公雞了 1 道行可是好東西,是障礙技能成功的關鍵,就拿pk來說吧,你300年道,對方才200年,你只要使用障礙技能把對方封了,對方就沒有機會使用法術攻擊你,也有一定的機率物理攻擊 我指的是金 障礙技能的成功率就...
求翻譯 求翻譯,求翻譯!!!
手機使用者 conor grennan並不願意做一名志願者。這個29歲的美國人不確定自己是否具備做志願者的強烈志願和技巧。然而,他在nepal的一個孤兒院找了份工作。之所以在這工作,他的第一想法是給別人留下深刻的印象。因為美國人非常看重志願經歷 我想如果我做一次志願者,我就可以一直跟別人說這一段經歷...