C語言 陣列名與 陣列名的區別

2021-09-12 11:48:31 字數 520 閱讀 2840

char str[10];

str 的值為str[0]的位址值,型別為char *型

&str的值為陣列的首位址,型別為char * [ ] 此處,兩者的值是相同的。

所以在使用的時候要注意指標的型別,值相同,型別不同也是不對的

#include#include#include#include"contact.h"

int get_file_contact(book book_head)

while(!feof(fp))

}insert_contact_sort(book_head,contact);

} return num;

}

在使用strsep的時候如果要分割字元陣列,要這樣做

char str[10]="aa bb cc";

char *p;

p=str;

p=strsep(&p," ");

C語言中陣列名與 陣列名的區別

include int main void int ptr int a 1 a代表整個陣列的位址,1應該加上sizeof a 的長度,所以ptr指向a 5 位置處。printf d d n a 1 ptr 1 a代表陣列首元素的位址,1應該加上sizeof a 0 所以a 1指向a 1 處。retu...

c語言 陣列名和 陣列名的區別

在學習c語言的過程中我們可以發現乙個一維陣列的的陣列名往往具有兩層含義 一.作為陣列名代表整個陣列 二.作為指標代表陣列的首元素位址 因此很容易把陣列和指標混為一談 我們可以發現陣列名等價於乙個指向陣列首位址的指標。當陣列名代表整個陣列的時候是在以下兩種情況 1.在用sizeof關鍵字求陣列所佔的記...

陣列名和陣列名取位址的區別

以下 會列印出什麼樣的日誌呢?cpp view plain copy include int a 2 int main 本機 linux 結果輸出 a 0x804a014 a 0x804a014 a 1 0x804a018 a 1 0x804a01c 沒錯,上面i 和 ii列印出來的位址是一樣的,i...