利用结构体直接赋值,可以传递结构体中的所有元素。如果是变通变量,则直接进行赋值;如果是指针,则改变指针变量所指向的位置。举例如下:
typedef struct _ASD
{
char *ch;
int i;
}ASD;
ASD myAsd,theAsd;//声明两个结构体
myAsd.ch=new char [4];//为结构体内的指针在堆内分配空间,首地址为0x00431cf0
strcpy(myAsd.ch,"ha");//并赋值
myAsd.i=5;//对整形变量赋值
theAsd=myAsd;//在这个对结构体的赋值的过程中,将变量的传给对应的变量,theAsd.ch的首地址为0x00431cf0
printf("%s and %d",theAsd.ch,theAsd.i);
delete []theAsd.ch;//因为指向同一个地址,可以利用它来释放空间