求sizeof p char p」hellochar phellovoid p malloc 100求解急啊考試呢

時間 2021-09-03 07:04:17

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的一個孤兒院找了份工作。之所以在這工作,他的第一想法是給別人留下深刻的印象。因為美國人非常看重志願經歷 我想如果我做一次志願者,我就可以一直跟別人說這一段經歷...