01-06、结构体-如何定义指向结构体类型变量的指针

字数 354阅读 89

结构体类型,只要有个类型就可以定义变量,只要定义变量,变量就会有自己的存储空间,变量有自己的存储空间那么变量就会有自己的地址,所以结构体类型的变量肯定也有自己的地址,那么肯定也可以定义一个指针指向结构体类型的变量。

#include

int main(int argc,const char * argv[]){

struct Person

{

int age;

char *name;

double height;

};

struct Person sp = {30,"lnj",1.75};

sp.name = "lnj";

sp.age = 30;

sp.height = 1.75;

//定义了一个指向结构体的指针

// *sip == sp

struct Person *sip;

sip = &sp;

/*

//注意:报错的原因是因为.运算符的优先级比*高

(*sip).name = "xxx";

(*sip).age = 88;

(*sip).height = 1.95;

printf("age = %i,name = %s,height = %lf\n",(*sip).age,(*sip).name,(*sip).height);

*/

/*

sip->age = 99;

sip->name = "oooo";

sip->height = 2.1;

printf("age = %i,name = %s,height = %lf\n",sip->age,sip->name,sip->height);

*/

/*

如何定义指向结构体变量的指针

1.拷贝结构体类型和结构体变量名称

2.在类型和名称中间加上一颗心

当指针指向结构体之后如何利用指针访问结构体

结构体变量名称.属性;

(*结构体指针变量名称).属性;

结构体指针变量名称->属性;

*/

return 0;

}

推荐阅读更多精彩内容