当前位置:首页 > 问问

什么是结构体指针 结构体指针简介

1、结构体指针的定义

结构体指针是指向结构体变量的指针,它可以指向结构体变量的地址。结构体是由多个不同数据类型的变量组成的复合数据类型,通过结构体指针,可以方便地对结构体变量进行访问和操作。

结构体指针的定义方式为:“struct 结构体名* 指针变量名;”

2、结构体指针的初始化

结构体指针的初始化可以通过以下两种方式:

1、先定义结构体变量,再将结构体变量的地址赋值给结构体指针:

struct Student{

char name[20];

int age;

float score;

};

int main(){

struct Student stu = {"Tom", 18, 90.5};

struct Student* p = &stu;

return 0;

}

2、直接定义结构体指针,并利用动态内存分配函数malloc()动态分配内存空间:

struct Student* p = (struct Student*)malloc(sizeof(struct Student));

3、结构体指针的使用

通过结构体指针,可以方便地对结构体变量进行访问和操作,使用方式如下:

1、通过指针访问结构体变量:

struct Student stu = {"Tom", 18, 90.5};

struct Student* p = &stu;

printf("name=%s, age=%d, score=%.2f", p->name, p->age, p->score);

2、通过指针修改结构体变量的值:

struct Student stu = {"Tom", 18, 90.5};

struct Student* p = &stu;

p->age = 19;

printf("age=%d", stu.age);

3、通过指针传递结构体变量的地址进行函数调用:

struct Student{

char name[20];

int age;

float score;

};

void print(struct Student* p){

printf("name=%s, age=%d, score=%.2f", p->name, p->age, p->score);

int main(){

struct Student stu = {"Tom", 18, 90.5};

struct Student* p = &stu;

print(p);

return 0;

}

4、结构体指针的销毁

在用完结构体指针后,需要将动态分配的空间进行释放,可以使用free()函数进行释放,释放格式如下:

free(pointer);

其中,pointer是指向动态分配空间的指针变量。

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:fendou3451@163.com
标签:

  • 关注微信

相关文章