今天边肖就和大家分享几个C语言中二维数组的常用表达式。边肖觉得内容挺好的,现在分享给大家,很有参考价值。有需要的朋友一起看看吧。
名称:二维数组的几种表示方法
说明:常用的有以下几种二维数组的表示方法:
(1)第一种方法是普通二维数组的表示法。
(2)第二种方式是用一维数组来表示二维数组。从显示的元素地址可以看出,二维数组和一维数组表示的二维数组在内存中的存储方式其实是一样的。不过用二维数组看起来更简单,只要没有地址转换就行。
(3)第三种表示是指针数组。本例中c[i]中的元素实际上是地址。这种方法适用于不同尺寸的元素。例如,假设我们需要处理几个不同长度的字符串。如果使用a [i ][j]结构,J必须取这些字符串的最大长度。显然,这种方法浪费空间。如果采用* a [i]结构,由于A中只保存每个字符串的第一个地址,而不是字符串本身,不仅节省了空间,还减少了直接对字符串操作的时间。
(4)第四种方式用指向指针的变量表示。这样,P就是指针的指针,普通二维数组(比如本例中的A)的首地址不能赋给它。(因为A不是指针的指针)。你可以用第三种方法把数组指针的第一个地址赋给它。这种方式用的比较少。
#includeiostream
使用命名空间std
int main()
{
int a[3][3]={{0,1,2},{3,4,5},{6,7,8 } };
int b[9]={0,1,2,3,4,5,6,7,8 };
int * c[3];
int * * p;
Cout普通二维数组表示’endl;
for(int I=0;i3;我)
{
for(int j=0;J3;j)
{
couta[I][j]'(' a[I][j]')' ' ';//对应元素的地址在括号中。
//cout *(*(a I)j)' ';
}
coutendl
}
Cout普通一维数组表示’endl;
for(int I=0;i3;我)
{
for(int j=0;J3;j)
{
coutb[I * 3j]'(' b[I * 3j]')' ' ';
}
coutendl
}
“Cout”指针数组指示:“endl
for(int I=0;i3;我)
{
c[I]=*(a I);//c[i]指向数组a第I行开头的地址。
for(int j=0;J3;j)
{
coutc[I][j]'(' c[I][j]')' ' ';
}
coutendl
}
“Cout”指针变量表示“endl
p=c;//p是指针的指针,指针数组C赋给指针变量p。
for(int I=0;i3;我)
{
for(int j=0;J3;j)
{
coutp[I][j]'(' p[I][j]')' ' ';
}
coutendl
}
返回0;
}
总结
这就是本文的全部内容。希望这篇文章的内容对你的学习或工作有一定的参考价值。谢谢你的支持。如果你想了解更多,请查看下面的相关链接。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。