可能重複:寫入
c
評估所述陣列的大小#include<stdio.h> int main() { char a[]="Visual C++"; char b[] = "Visual\C++"; printf("%d, %d\n", sizeof(a), sizeof(b)); printf("%d, %d", sizeof(*a), sizeof(*b)); return 0; }
OUTPUT
How to find the sizeof(a pointer pointing to an array)
示例代碼
11,10
1,1
1)爲什麼sizeof(a)
顯示11
,雖然它只有10
字符。
2.)爲什麼sizeof(a)
和sizeof(b)
表示不同的輸出,儘管它們具有相同數量的字符。
不要忘了空字符...而反衝'\\'是一個轉義字符。 – Mysticial
這意味着..如果我們不知道數組的大小,我們必須迭代整個數組的元素。所以在那種情況下,將不得不移動到**'(sizeof(a)-2)** **不是?? – Ravi
'sizeof(a)'會給你數組的大小。 (以及'char'類型的數組長度)。 'strlen(a)'會給你第一個空字符之前的字符數。 – Mysticial