刷了一些關於指標和陣列的題,已經把輸出結果都注釋上了,有些比較愛出錯,容易讓我入坑的地方都加了解釋。
這套題不僅僅是深入了解了指標和陣列,還需要你對 sizeof 和 strlen 的運用完全掌握。
一維陣列
#include #includeint main();
printf("%d\n", sizeof(a));//16
printf("%d\n", sizeof(a + 0));//4
printf("%d\n", sizeof(*a));//4
printf("%d\n", sizeof(a + 1));//4
printf("%d\n", sizeof(a[1]));//4
printf("%d\n", sizeof(&a));//4
printf("%d\n", sizeof(*&a));//16
printf("%d\n", sizeof(&a + 1));//4
printf("%d\n", sizeof(&a[0]));//4
printf("%d\n", sizeof(&a[0] + 1));//4
system("pause");
return 0;
}
字元陣列
int main();
printf("%d\n", sizeof(arr));//6
printf("%d\n", sizeof(arr + 0));//4
printf("%d\n", sizeof(*arr));//1
printf("%d\n", sizeof(arr[1]));//1
printf("%d\n", sizeof(&arr));//4
printf("%d\n", sizeof(&arr + 1));//4
printf("%d\n", sizeof(&arr[0] + 1));//4
system("pause");
return 0;
}
int main();
printf("%d\n", strlen(arr));//隨機值,因為arr中沒有'\0',無法停止。
printf("%d\n", strlen(arr + 0));//隨機值
//printf("%d\n", strlen(*arr));//err a的ascii值
//printf("%d\n", strlen(arr[1]));//err
printf("%d\n", strlen(&arr));//隨機值
printf("%d\n", strlen(&arr + 1));//隨機值
printf("%d\n", strlen(&arr[0] + 1));//隨機值
system("pause");
return 0;
}
int main()
int main()
int main()
int main()
二維陣列
int main();
printf("%d\n", sizeof(a));//48
printf("%d\n", sizeof(a[0][0]));//4
printf("%d\n", sizeof(a[0]));//16 第一行的陣列名
printf("%d\n", sizeof(a[0] + 1));//4 陣列名不表示整個陣列時,就表示首元素位址
a[0]單獨時表示陣列名,+1後表示第一行第二個元素的位址
printf("%d\n", sizeof(*(a[0] + 1)));//4 第一行第二個元素
printf("%d\n", sizeof(a + 1));//4 a代表第一行的位址,+1變成第二行位址
printf("%d\n", sizeof(*(a + 1)));//16
printf("%d\n", sizeof(&a[0] + 1));//4 第二行的位址
printf("%d\n", sizeof(*(&a[0] + 1)));//16 第二行
printf("%d\n", sizeof(*a));//16 首元素的位址就是第一行的位址
printf("%d\n", sizeof(a[3]));//16 sizeof不參加內部運算,得到的是型別的大小
system("pause");
return;
}
如果**寫錯了,希望大家可以幫我指正<.< 指標陣列和陣列指標
有關陣列指標和指標陣列容易混淆,本文舉例說明兩者的區別,並加以分析。基本概念 指標 inta 1 int p a 指標的指標 int p2p p 簡單陣列 intb 20 指標陣列 int p 10 指標陣列,含有10個指標元素,即每乙個元素都是乙個指標 陣列指標 int p 10 這個指標用來指向...
指標陣列和陣列指標
理解這兩個概念,當從語言學的語法角度開始,定語 名詞,即 的 語句。指標陣列 指標的陣列 陣列指標 陣列的指標。一 指標陣列 元素為指標的陣列 顧名思義,就是說的首先是乙個陣列吧,然後陣列的元素是指標而已。說明形式為 type pointer array constant1 constant2 co...
指標陣列和陣列指標
該文時自己對指標陣列用法的一點總結,還望高手指點不足原文如下 由於以前對指標陣列不太明白,所以自己寫了 乙個小的測試程式來驗證了自己的猜測,先總結如下 指標陣列,由名字就可以知道的該陣列中的成員都是為指標的。其定義的方法為 char p 5 該初定義乙個包含5個char 型別的陣列的指標,由於p本身...