专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > C语言

请教在c中指针变量使用前需要初始化吗

发布时间:2011-06-28 16:12:36 文章来源:www.iduyao.cn 采编人员:星星草
请问在c中指针变量使用前需要初始化吗?
C++规定指针变量必须初始化后,才可以使用,C一样吗?,但我看很多例子都没有初始化。

如:

#include <stdio.h>

#include <string.h>

void   main()

{  

    char   *p,s[20];

  gets(s);     /*   这个正确*/

  gets(p);     /*这句在C++编译器里出错,在C编译器里可以吗?   */

}



------解决方案--------------------
CRT中的很多函数虽然是以指针为参数,但是空间需要用户分配的。因此如果要使用栈空间的话,那么就
char s[20];
gets(s);//(注意输入不要超过19个字符哦)
如果使用堆空间的话,那么就
char *p = (char *)malloc(20 * sizeof(char));
gets(p);//(注意输入不要超过19个字符哦)
未经过初始化的指针或者是已经delete掉的指针,叫做野指针。使用了会出错。
对所有的变量,使用之前初始化是一个好习惯。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: