學習第24天
阿新 • • 發佈:2020-09-13
C語言
-
陣列和多為陣列、
-
指向多維陣列的指標和指標變數、
-
陣列名代表陣列的首地址、
-
int a[3][4]; int b, c; for (b = 0; b< 3; b++) { for (c = 0; c < 4; c++) { a[b][c] = 16; } } int* d; d = (int *)(a + 1);//(int *)是強制轉換的意思、指向第一行的首地址、 *d = 51;// a[1][0]賦值成51 d++;//走4個位元組 即a[1][1] *d = 91;//將a[1][1]賦值成91
-
-
指標陣列和陣列指標、
-
陣列中的每個元素都是個指標、並定義了每個元素的指標變數
-
指標陣列
-
int a[3][4]; int b, c; for (b = 0; b < 3; b++) { for (c = 0; c < 4; c++) { a[b][c] = 16; } } a[0][3] = 91; int *d[4]; d[0] = &a[0][0]; d[1] = &a[0][1]; d[2] = &a[0][2]; d[3] = &a[0][3]; for (c = 0; c < 4; c++) { printf("c =%d\n", *(d[c])); } }
-
陣列指標
1. 一維陣列指標 2.
int (*d)[4];//一個指標變數、指向含有4個元素的一維陣列 int a[4]; int b, c; for (b = 0; b < 4; b++) { a[b] = b; } d = &a; //使用地址符& a和&a 的地址相同 int* e; e = (int*)d;//(int*)強制轉換、 for (b = 0; b < 4; b++) { printf("e=%d\n", *e); e++; }
-
二維陣列、
-
int(*d)[9]; int a[6][9]; int b, c; for ( b = 0; b <6; b++) { for ( c = 0; c < 9; c++) { a[b][c] = b + c; } } d = a;//二維陣列可以直接賦值給陣列指標、 int *e; e = (int *)d; for(b = 0; b < 6; b++) { for (c = 0; c < 9; c++) { printf("%d ", *e); e++; } printf("\n--------------------------------\n"); } d++;//跳了40位元組 e = (int*)d;
-
-