c语言二维数与指针,二维数组与指针(教程)

ca56232b3bbedf9a539d07f37fffb99a.gif

3144d8b7615c79d9f638db40d5689d26.gif

a218af6549b45ee526caf607ebff1358.gif

0f8df0e29816ae721419de940fb833d1.gif

二维数组与指针(教程)

二维数组与指针

1.二维数组元素在内存中的存放方式

在C++中,二维数组元素值在内存中是按行的顺序存放的。若定义二维整型数组a[3][3],假设编译系统为数组a分配的内存空间从1000开始到1035为止,则数组中各元素a[0][0]~a[2][2]在内存中按行存放次序如图7.6所示。因此,与一维数组类似,可用指针变量来访问二维数组元素。

【例7.7】用指针变量输出二维数组各元素的值。

# include

void main(void)

{ int a[3][3]={ {1,2,3},{4,5,6},{7,8,9}};

int *p=&a[0][0]; //将二维数组首地址赋给指针变量p

for (int i=0;i<9;i++)

{ cout<

p++; //指针变量p加1,指向下一个元素

}

}

程序执行后输出结果为:

1 2 3 4 5 6 7 8 9

但要用上述指针变量p访问二维数组中任意指定元素a[i][j]就觉得很不方便,为此C++设计者提供另外几种访问二维数组元素的方法,为了了解访问二维数组元素的方法,必须了解三个地址概念,即:二维数组行首地址、行地址、元素地址,现介绍如下。

2.

你可能感兴趣的:(c语言二维数与指针)