/**
通過指標來訪問一維陣列,二維陣列,多維陣列
*/#includeconst int cols=3;
const int count=4;
//通過一級指標,計算偏移量來遍歷一維陣列
void printsingledimensionalarray(int *data,int data_len);
//通過一級指標,計算偏移量來遍歷二維陣列:
void printdoubledimensionalarray(int *array,int rows,int cols);
//通過一級指標,計算偏移量來遍歷三維陣列:
void printthreedimensionalarray(int *array_3,int rows,int cols,int count);
//使用指向二維陣列的指標來遍歷三維陣列
void printthreedimensionalarray2(int (*p)[cols][count],int rows);
void main()
; int data_len=sizeof(data)/sizeof(data[0]);
printf("data[6]=%d\n",*(data+6));//7
printf("一維陣列data:\n");
printsingledimensionalarray(data,data_len);
int array[2][3]=,};
printf("二維陣列array:\n");
printdoubledimensionalarray(array,2,3);
int count=0;
int array_3[2][3][4];
int i,j,k;
for(i=0;i<2;i++)}}
printf("三維陣列array_3:\n");
printthreedimensionalarray(array_3,2,3,4);
//三維陣列的初始化
int array_33[2][3][4]=,,
,},,,
,}
};printf("三維陣列array_33:\n");
printthreedimensionalarray(array_33,2,3,4);
printf("三維陣列array_33:\n");
printthreedimensionalarray2(array_33,2);
}//通過一級指標,計算偏移量來遍歷一維陣列
void printsingledimensionalarray(int *data,int data_len)
三維陣列array_33:
三維陣列array_33:
process returned 2 (0x2) execution time : 0.312 s
press any key to continue.
指標訪問二維陣列
之前對陣列的概念一直沒有理解透徹,只覺得陣列名就是個常量指標而已,用法和基本的指標差不多。所以當我嘗試用二級指標去訪問二維陣列時,就經常會出錯。下面就是剛開始寫的乙個錯誤的程式 include int main int parray null parray iarray printf array 0...
C語言二維陣列指標(指向二維陣列的指標)
二維陣列的定義 int matrix 見圖的操作那篇文章裡面的定義 或者這篇文章提供了另外一種方法。二維陣列在概念上是二維的,有行和列,但在記憶體中所有的陣列元素都是連續排列的,它們之間沒有 縫隙 以下面的二維陣列 a 為例 int a 3 4 從概念上理解,a 的分布像乙個矩陣 0 1 2 3 4...
二維陣列指標表示,C語言指標引用二維陣列詳解
指標變數可以指向一維陣列中的元素,當然也就可以指向二維陣列中的元素。但是在概念和使用方法上,二維陣列的指標比一維陣列的指標要複雜一些。要理解指標和二維陣列的關係首先要記住一句話 二維陣列就是一維陣列,這句話該怎麼理解呢?假如有乙個二維陣列 int a 3 4 其中,a 是二維陣列名。a 陣列包含 3...