永发信息网

我想知道a[0][0]的地址,用的是vc6.0,直接报错了,求解释

答案:3  悬赏:60  手机版
解决时间 2021-03-08 09:27
  • 提问者网友:浩歌待明月
  • 2021-03-07 14:05
我想知道a[0][0]的地址,用的是vc6.0,直接报错了,求解释
最佳答案
  • 五星知识达人网友:归鹤鸣
  • 2021-03-07 14:17
#include 
int main()
{
 int a[9][9];
 int n,m,t=1;
 for (n=0;n<9;n++)
 {
  for (m=0;m<9;m++)
  {
   a[n][m]=t;
   t++;
  }
 }
 int *s1;
 s1=&a[0][0]; //这句两个问题:一、*s1是取地址s1中的内容,可是s1在没有赋值前,是不能进行*s1操作的。即s1是野指针时,不能*
              //二、a[0][0]是数组的第一个元素值,不是地址值,&操作符才是取地址的操作符,对任何变量用&来操作,都是取其地址
 std::cout< return 0;
}
全部回答
  • 1楼网友:猎心人
  • 2021-03-07 15:54
int *s1;
s1 = &a[0][0];
  • 2楼网友:荒野風
  • 2021-03-07 15:33
s1=&a[0][0];
*s1=a[0][0];意思是将a[0][0]代表的数值赋予s1这个地址指向的int存储单元。而s1指向哪里?int *s1;只是声明了s1为指针,而没有指定s1指向的地方。
s1=&a[0][0];指定s1指向a[0][0]。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯