佚名通过本文主要向大家介绍了结构体指针,c语言结构体指针,结构体指针定义,结构体指针初始化,指向结构体的指针等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 结构体指针问题
描述:
首先我定义的一个结构体
typedef struct
{
char* a;
char* b;
}ST;
声明变量
ST* AA
然后给AA中a,b指针指向的地址赋值
AA->a="123343";
AA->b="123343";
发现并没有赋值 成功,但是编译没有问题。
到底哪里出了问题????
如果将声明变量改为ST AA;
再给他们赋值
AA.a="123343";
AA.b="123343";
发现赋值成功了。
这两种赋值方式有什么区别??
解决方案1:
当然不行,你必须给它分配一可用的内存空间
如: ST *AA = new ST; 或者 ST *AA = malloc(sizeof(AT));
最后要释放分配的空间。
描述:
结构体指针问题
大家帮忙解决一下,我遇到一个问题,感觉搞不清楚首先我定义的一个结构体
typedef struct
{
char* a;
char* b;
}ST;
声明变量
ST* AA
然后给AA中a,b指针指向的地址赋值
AA->a="123343";
AA->b="123343";
发现并没有赋值 成功,但是编译没有问题。
到底哪里出了问题????
如果将声明变量改为ST AA;
再给他们赋值
AA.a="123343";
AA.b="123343";
发现赋值成功了。
这两种赋值方式有什么区别??
解决方案1:
当然不行,你必须给它分配一可用的内存空间
如: ST *AA = new ST; 或者 ST *AA = malloc(sizeof(AT));
最后要释放分配的空间。