C語言 通過指標訪問一維陣列,二維陣列,三維陣列。

2021-08-09 06:17:10 字數 1483 閱讀 8986

/**

通過指標來訪問一維陣列,二維陣列,多維陣列

*/#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...