多维数组,二组数组即数组的数组中,该数组中存放的是什么?

C334745710 2007-12-15 10:37:53
#include<iostream>
#include<typeinfo>
using namespace std;
int main()
{
int a[]={1,2,3,4,5};
int ai[3][5]={{1,2,3,4,5},{6,7,8,9,10},};

for(int i=0;i<3;i++)
for(int j=0;j<5;j++)
cout<<&ai[i][j]<<((5*i+j+1)%5==0?"\n":" ");

cout<<ai<<endl;
cout<<ai+1<<endl;
cout<<(int *)ai+1<<endl;
cout<<*ai<<endl;
cout<<*(ai+1)<<endl;
cout<<*((int*)ai+1)<<endl;
cout<<(ai+1)[2]<<endl;
cout<<(*(ai+1))[3]<<endl;

cout<<typeid(ai+2).name()<<endl;
cout<<typeid(*(*(ai+1)+2)).name()<<endl;
//**************************************************
cout<<typeid(ai[2]).name()<<endl;
cout<<typeid(*(ai[2])).name()<<endl;
//***************************************************

cout<<typeid(&ai).name()<<endl;
system("pause");
return 0;
}

//就是想知道,数组的数组里面存的是什么?
//我理解的,存的是数组的取地址值而不是数组对吗?
//上面标记行能不能说明这个问题?
...全文
80 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
C334745710 2007-12-15
  • 打赏
  • 举报
回复
好像是标记错了...
C334745710 2007-12-15
  • 打赏
  • 举报
回复
数组名真的是有点牛呀,你们说是不是?

int a[]={1,2,3,4,5};
这么一个数组,对数组名 a+1加的是一个int 字长,而对
数组名取sizeof(a)或是对其&a+1,步长都是5*int个字长!!!!!!

说a是指向第一个无素的指针,没错,a+1就能说明这点,

但sizeof(a)不同的含义就出来了!!!!!
1073X 2007-12-15
  • 打赏
  • 举报
回复
最低维存的是值,其他维都是数组
qiuqiu173 2007-12-15
  • 打赏
  • 举报
回复
存的应该是值吧
C334745710 2007-12-15
  • 打赏
  • 举报
回复
还想补充问一下,一个数组名,有多少种意义?

各种情况下,举个例子看看好吗?
ttzzgg_80713 2007-12-15
  • 打赏
  • 举报
回复
放的是些浆糊

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧