鱼C论坛

 找回密码
 立即注册
查看: 2343|回复: 5

指针问题

[复制链接]
发表于 2013-12-10 11:43:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
有一下定义
         char a[6],*p;
         p="China";
prinntf("%s",a);

我的疑问:  指针变量 p 与数组 a 不是共用地址吗?既然给p赋值为“China”数组 a 的值也应该是“China”啊 那输出结果应该是China{到底哪里不对啊}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-12-10 13:00:53 | 显示全部楼层
我的疑问:  指针变量 p 与数组 a 不是共用地址吗?   这个问题我不知道


我仅以我刚学到的知做个说明:

P 里存放的是 ‘china’的地址  而不是'china'

*p   存放的才是'china'

所以你在打印的时候  应该写  &a    这样才是类型一样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-12-10 13:39:42 | 显示全部楼层
a是一个指针常量,它等于&a[1],p是一个指针变量,你把字符串"China"中的字符'C'的地址赋给了p,你的程序中a和p没有一丝的关系
应该改为:
char a[6]="China",* p;
p=a;
printf("%s\n",p);
就会得到你想要的结果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-11 17:53:39 | 显示全部楼层

有一下定义
         char a[6],*p;
         p=a;
         p="China";
prinntf("%s",a);

很尴尬啊 少些了一行代码,请指教
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2013-12-12 17:18:20 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-12 17:46:23 | 显示全部楼层
#include<stdio.h>
woid main()
{
printf("谢谢");
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 03:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表