我想知道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;
}
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<
}
全部回答
- 1楼网友:猎心人
- 2021-03-07 15:54
int *s1;
s1 = &a[0][0];
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]。
*s1=a[0][0];意思是将a[0][0]代表的数值赋予s1这个地址指向的int存储单元。而s1指向哪里?int *s1;只是声明了s1为指针,而没有指定s1指向的地方。
s1=&a[0][0];指定s1指向a[0][0]。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯