C语言指针的初始化!!!!

C语言指针的初始化!!!!,第1张

例如 int *pt 然后 *pt=5 这样说是不能对未初始化指针取值!!还有 如果有指针 char* i不初始化直接用 *i="Hello"可以吗?

int *pt/* pt是一个指向整数的指针,未初始化时,存储该指针的地址&pt是随机的,可以用printf("%p",pt)来验证。 就是说,该指针仿孙仔备汪可能指向任意地方,凯败包括系统使用的内存区,虽说这不是你需要的。当*pt = 5时,就有 可能造成无法预料的结果。*/你可以在定义指针的时候直接初始化,语句如下int *pt = 5同样,也可以这样这样写:char *i = "Hello"

FILE  *fp_in = NULL, *fp_out = NULL

if(fp_in)fclose(fp_in)

if(fp_out)fclose(fp_out)

把你那三扰薯族缓弊行,手老改成我这样的,因为可能没有初始化啊。。。

STUDENT

*p

做到这一步的时候系统就开了正隐旅一个STUDENT空间,长度就是STUDENT的长度。

如果你想让p的值为NULL的话你可以直接给p赋值NULL就可以了

比如

p=NULL

或者return

NULL

我一直不携简理解举凳

for(i=0i<=50i++)

p->chEmail[i]=NULL

是在干啥,

ZeroMemory(p,sizeof(p))这句应该就是把p指向的地址STUDENT长度的字节全赋0了

我一般喜欢用memset(p,0,sizeof(p))头文件是<memory.h>

p->chEmail[i]=NULL

NULL是空指针,但是这么运算的时候会变成0。

最好对char类型赋空值的时候使用'\0'


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8199356.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存