c語言中陣列與sizeof

2021-07-10 07:35:41 字數 405 閱讀 8973

我以前的理解是:陣列名字就是指向陣列首元素的指標,然而用sizeof()運算元組名字,把我又弄得有些疑惑了。查了查資料,終於明白了。

原來,陣列名字做形參時才被當作指標。而sizeof()並不是乙個函式,而是乙個單目運算子,所以sizeof()裡寫陣列名字,返回的就是陣列佔了多少位元組。

例如:    char a[10] = ;

sizeof(a) = 10;

char(*p)[10] = &a;

sizeof(p) = 4 // win32

char b[10][10];

sizeof(b) = 100;

p = b; //此時b為指向b[10][10]第一行元素(長10的一維字元陣列)的陣列指標

sizeof(p) = 4;

C語言中sizeof與strlen區別

sizeof 初始的分配的空間大小,期中 sizeof unsigned char 1 sizeof signed char 1 sizeof int 4 sizeof unsigned int 4 sizeof short int 2 sizeof unsigned short 2 sizeof ...

C語言中sizeof與strlen區別

一.本質區別 sizeof 和 strlen 有本質上的區別。sizeof 是c 語言的一種單目運算子,如 等,並不是函式,sizeof 的優先順序為2 級,比 等3 級運算子優先順序高,sizeof 以位元組的形式給出運算元的儲存空間的大小。而strlen 是乙個函式,是由c 語言的標準庫提供的。...

c語言中的陣列sizeof和strlen

sizeof strlen sizeof 返回乙個物件或者型別所佔的記憶體位元組數。strlen 用來計算字串的長度,遇到 0 結束。我們分別從一維陣列,字元陣列,二維陣列的例子來分析。注 陣列名代表整個陣列的時候只有兩種情況 sizeof 陣列名 陣列名單獨在sizeof中時表示整個陣列。陣列名 ...