指针一定要进行初始化,
未初始化的指针不能直接使用,
结构体指针为例,进行分析:
struct stu{
int age;
char name[3];
};
struct stu *mm;
mm->age=10;
strcpy(mm->name,"ao");
这样写会出问题,因为并没有对指针进行初始化!!!
更正:
struct stu *mm=new struct stu;
mm->age=10;
strcpy(mm->name,"ao");
分析:没有初始化的指针,直接对成员变量进行赋值,成员变量此时在内存中并不存在的。
所以会出错!
总结:可以类比Qt中我们在使用一个类对象时,首先就是要new一下,然后再调用其成员函数。结构体就相当于c++中的类!
struct stu *mm=new struct stu; //new struct stu,是在堆空间定义的变量。
struct stu mm; //在栈空间定义的变量。
本文深入解析了指针初始化的重要性,通过结构体指针实例说明,未初始化的指针直接使用可能导致程序错误。强调了在使用指针前进行初始化的必要性,并提供了正确的初始化方式。
430

被折叠的 条评论
为什么被折叠?



