c语言里面为什么不能把指针赋给数组名?
答案:3 悬赏:80 手机版
解决时间 2021-12-20 12:56
- 提问者网友:温旧梦泪无声
- 2021-12-19 16:16
书上说数组名就是首地址啊,就是指针啊,为什么不能赋值?
最佳答案
- 五星知识达人网友:千杯敬自由
- 2021-12-19 17:50
有两种情况。。
1、char *p = "123"; char s[4];
s = p;
这种情况是不合法的。。此时的数组名虽然也是指针,但应该看成指针常量,是不能修改的。。
2、void fun(char a[]){}
void main()
{
char *p = "123";
fun(p);
}
数组作为函数参数的时候,是可以把指针变量赋值给它的,这时数组名就可以看作一般的指针变量了。。
简单的说就是这样。。
1、char *p = "123"; char s[4];
s = p;
这种情况是不合法的。。此时的数组名虽然也是指针,但应该看成指针常量,是不能修改的。。
2、void fun(char a[]){}
void main()
{
char *p = "123";
fun(p);
}
数组作为函数参数的时候,是可以把指针变量赋值给它的,这时数组名就可以看作一般的指针变量了。。
简单的说就是这样。。
全部回答
- 1楼网友:平生事
- 2021-12-19 20:11
他是个常指针,是个常量,不能赋值的
- 2楼网友:你哪知我潦倒为你
- 2021-12-19 18:35
可以
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯