好久没有自己编程了,已经生疏了好多了!下面就是我出现的一个很基础的问题!
程序代码:
这样定义了一个结构
struct aa
{
char *ss;
}bb;
象下面这么调用总有错!
bb.ss[0]='a';
但是如果为ss分配内存空间后就可以!
但是如果这样定义
char *str;
再这样使用
str[0]='a';
就没有问题
这个问题我一直搞不定,后来上了CSDN和新帆的新闻组问了一下,才得到答案
第二个没有问题,是因为我的运气:)
因为,凡是指针,在定以后都要为他分配内存空间,否则的话,就不知道他会指向什么地方了。如果不知道他指向什么地方就给他随便赋一个值,那样就很危险了!自己想想,如果指针指向系统内部的一些重要的地方,那你的赋值就等于修改了系统,这下可糟糕了,后果是什么,就难以预料了!