免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1098 | 回复: 1
打印 上一主题 下一主题

求助!!!急急急!!!关于指针与外部变量的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-09-07 16:46 |只看该作者 |倒序浏览
各位朋友,我是一个菜鸟刚学c语言不长时间,有好多的白痴问题还想请高手们帮帮忙,不要嫌弃我这个小弟,因为我正处在考试前的复习阶段,我在自学计算机语言,如果朋友们肯帮我,我会感激不尽的,我会更加有信心的去学好它。所以请千不要嫌弃我这个小弟。我在这里先谢谢大家了。下面我练习时的一小段代码没什么实在意义,不过有个很大的疑问我想求助大家,希望朋友们可以帮助我。
#include"stdio.h"
char *p[10];
main()
{
register int t;
p[2]="Why";
for(t=0;t<10;t++)
{gets(p[t]);
printf("%s\n",p[t]);}
printf("%s\n",p+1);
}
在上面这个代码中,p是一个已经定义的字符型指针数组,而且是在主函数之外,
问题是我不明白为什么这个字符型指针数组不能在for循环中通过gets()函数赋值,虽然编译没错误可是通过gets()函数后每次都是得到空指针!可是像P[2]这样的简单赋值却可以,或是字符型指针数组要是在主函数内定义也没这样的问题,请问那个高手能告诉我这是为什么?!!!

论坛徽章:
0
2 [报告]
发表于 2004-09-07 18:29 |只看该作者

求助!!!急急急!!!关于指针与外部变量的问题

因为你没有为 p[t] 指向的字符串分配内存空间。p[2] = "Why";之所以可行,是因为 p[2] 指向的是一个常量字符串,这个字符串放在程序的静态存储区。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP