上面定义了一个指针,
我可以这样使指针变量指向一个值吗,如:p=0x4e0000000;
我就看到过 使指针变量指向空地址0的表示方法:p=0;
像我上面 p=0x4e0000000;这样,直接用地址值来赋给指针变量,
这样的表示方法对不对?
指针问题,定义一个指针 int * p;
答案:3 悬赏:60
解决时间 2021-02-20 14:09
- 提问者网友:泪姬迷茫
- 2021-02-20 01:03
最佳答案
- 二级知识专家网友:如果这是命
- 2021-02-20 02:10
这样写是不会通过编译的。
原因是无法将一个const __int64 转换为一个 int *,它们的类型不一样。
如果硬是要这样做,可以是int * p = (int * )0x4e0000000.
不过这样做基本上没有意义,要知道程序的不区域放的是不同的内容。
一般默认情况下程序内的地址在0x00400000之后,也可能由编译器决定
原因是无法将一个const __int64 转换为一个 int *,它们的类型不一样。
如果硬是要这样做,可以是int * p = (int * )0x4e0000000.
不过这样做基本上没有意义,要知道程序的不区域放的是不同的内容。
一般默认情况下程序内的地址在0x00400000之后,也可能由编译器决定
全部回答
- 1楼网友:何必打扰
- 2021-02-20 04:07
内存中有一块地址是不允许随便访问的,你这样给P赋值是不安全的。
- 2楼网友:零负荷的放任
- 2021-02-20 02:28
ve(int *a, int n)
{
int *p = a;
float s = 0;
while(p a + n)
s += *p++;
return s / n;
}
int main()
{
int i, a[10];
printf("输入10个整数:\n");
for(i = 0; i 10; i++)
scanf("%d", a[i]);
printf("平均值是%f\n", ave(a, 10));
return 0;
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯