#include<stdio.h>
#include<stdlib.h>
typedef struct mystruct
{
int a;
}T,*ptr;
int main()
{
ptr A=NULL;//不只是结构体指针,任何指针都应该加上这个NULL,用的时候再为这个指针提供空间。
ptr B=NULL;
A=(ptr)malloc(sizeof(T));//分配空间
A->
a =5;
/*-------------------------------------*/
//接下来说下一个问题就是:a=b这样会发什么。
B=(ptr)malloc(sizeof(T)) ;//分配空间
B=A;
printf("A:%d B:%d\n",A->a,B->a);
A->a=3;
printf("A:%d B:%d\n",A->a,B->a);
B->a=7;
printf("A:%d B:%d\n",A->a,B->a);
}
下图是结果,可以发现B,A操作的是一片相同的地址,(即忽略了给B分配的地址)
所以如果不想这样,就只能给每一个结构里的变量进行复制。