llgd.net
当前位置:首页 >> 如何指针指向一个二维数组.. >>

如何指针指向一个二维数组..

C语言的数组(不管多少维)在内存中都是线性储存的。所以用一级指针加偏移就可以访问所有元素。 举个例子,有一个10*10的二维数组a,这样就可以输出: int a[10][10];int *p = (int *)a;int i;for (i = 0; i < 10 * 10; i++)printf("%d", *(p + ...

int main(int argc, char* argv[]) { int a[2][2] = { 1, 2, 3, 4 }; int (*p)[2]; p = a; cout

一、二维数组与二级指针 二维数组 二维数组本质上是以数组作为数组元素的数组,即“数组的数组”。二维数组的相当于由若干个一维数组组成的一级数组。 int a[3][4]; 此时的a是一个二维数组,a[0]、a[1]、a[2]均表示一个一维数组,它们三个元素共同...

实现代码: int a[m][n]; int *p = &a[0][0]; 通过p[i*n+j]访问a[i][j] 在C语言和C++语言中,数组元素全为指针的数组称为指针数组。 一维指针数组的定义形式为:“类型名 *数组标识符[数组长度]”。 例如,一个一维指针数组的定义:int *ptr_array...

二维数组如: a[3][3]; a[0] = {1,2,3}; a[1] = {3,4,5}; a[2] = {5,6,7}; p指向二维数组; p[1] == a[1]

用指向数组的指针吧,还要看二维数组的具体情况。你这里如果要指向b,那那就声明一个int (*p)[100]=b;就可以了。

在C语言中,可以通过如下方式来定义指向字符型二维数组的指针: char c[4][5]; // 定义一个4行5列的字符型二维数组char (*pc)[5]; // 定义一个含5个元素的数组指针pc=c; // 将数组指针pc指向二维字符数组c 注: char (*pc)[5] 不能写为 char *pc...

可以,举例说明: #define MYPOINTER (unsigned char *)a int a[5][10]; unsigned char *p; int i,j; for ( i=0;i

int main() { int i = 0, j = 0; int arr[3][5] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }; int (*p)[ 5 ]; p = arr; for( i = 0; i < 3; ++i ) { for( j = 0; j < 5; ++j ) { printf( "%d ", *( *p + j ) ); } printf( "\n" ); ...

#includevoid input_array(int (*b)[3],int line) //b是一个数组指针 指向的类型是 含有3个int型数据的数组{ int (*p)[3] = b; //p 同上 int i ; for(;p < *(b+ line); p++) //line 代表这个数组 有几行 {//for里面的括号是中文的 你改过来 for(...

网站首页 | 网站地图
All rights reserved Powered by www.llgd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com