当前位置: 首页 > news >正文

生活服务类网站开发合肥网站推广优化公司

生活服务类网站开发,合肥网站推广优化公司,做律师网站电销,泰安市建设局结构体的初始化 结构体的初始化是指在声明结构体变量时,为其成员变量赋初值。结构体的初始化可以通过以下几种方式实现: 1. 在声明结构体变量的同时进行初始化: struct Student { char name[20]; int age; float score; } student {…

结构体的初始化

结构体的初始化是指在声明结构体变量时,为其成员变量赋初值。结构体的初始化可以通过以下几种方式实现:

1. 在声明结构体变量的同时进行初始化:

struct Student

{

char name[20];

int age;

float score;

} student = {"张三", 18, 90.5};

上面的代码定义了一个名为Student的结构体,并在声明结构体变量student的同时进行了初始化。将字符串"张三"、整数18和浮点数90.5分别赋给了name、age和score成员变量。

2. 先声明结构体变量,再进行初始化:

struct Student

{

char name[20];

int age;

float score;

};

struct Student student;

strcpy(student.name, "李四");

student.age = 20;

student.score = 86.0;

上面的代码首先定义了一个名为Student的结构体,然后声明了一个结构体变量student。接下来,我们使用strcpy函数将字符串"李四"复制到name成员变量中,并分别将整数20和浮点数86.0赋给age和score成员变量。

3. 通过指针进行初始化:

struct Student

{

char name[20];

int age;

float score;

};

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

strcpy(student->name, "王五");

student->age = 22;

student->score = 98.5;

上面的代码首先定义了一个名为Student的结构体,然后使用malloc函数动态分配了一块内存空间来存储结构体变量。接下来,我们使用指针访问结构体的成员变量,并将字符串"王五"、整数22和浮点数98.5分别赋给了name、age和score成员变量。最后,记得释放动态分配的内存空间。

结构体指针作为函数返回值的类型

函数的返回类型是结构体指针类型,表示该函数返回一个指向结构体的指针。下面是一个示例代码,演示了如何定义一个返回结构体指针类型的函数:

#include <stdio.h>

// 定义一个结构体类型

typedef struct

{

int id;

char name[20];

} Student;

// 定义一个函数,返回一个指向Student结构体的指针

Student* get_student_info()

{

Student* student = (Student*)malloc(sizeof(Student)); // 动态分配内存空间

student->id = 1;

strcpy(student->name, "John");

return student; // 返回指向Student结构体的指针

}

int main()

{

Student *student_ptr = get_student_info(); // 调用函数获取指向Student结构体的指针

printf("ID: %d\n", student_ptr->id); // 输出学生信息

printf("Name:%s\n",student_ptr->name);

free(student_ptr); // 释放动态分配的内存空间

return 0;

}

在上述示例中,我们定义了一个名为Student的结构体类型,包含两个成员变量id和name。然后,我们定义了一个名为get_student_info的函数,该函数返回一个指向Student结构体的指针。在函数内部,我们使用malloc函数动态分配了一块内存空间来存储Student结构体的信息,并初始化了其成员变量。最后,我们通过返回指针的方式将指向Student结构体的指针传递给调用者。

在main函数中,我们调用了get_student_info函数并将返回的指针赋值给student_ptr变量。然后,我们可以使用student_ptr访问Student结构体的成员变量,并进行相应的操作。最后,我们使用free函数释放了动态分配的内存空间,以避免内存泄漏。

结构体指针作为函数的参数

结构指针作为函数的参数可以实现在函数内部修改结构体变量的值,并且这些修改在函数调用结束后仍然有效。这是因为结构指针作为参数传递的是结构体变量的地址,函数内部对结构体成员的操作实际上是直接修改了结构体变量的内容。

下面是一个示例代码,演示了结构指针作为函数参数的使用:

#include <stdio.h>

#include <string.h>

struct Student

{

char name[20];

int age;

float score;

};

void update_student_info(struct Student *s, const char *new_name, int new_age, float new_score)

{

strcpy(s->name, new_name);

s->age = new_age;

s->score = new_score;

}

 

int main()

{

struct Student student1 = {"张三", 18, 90.5};

printf("Before update: ");

printf("Name: %s, Age: %d, Score: %.2f

",student1.name,student1.age, student1.score);

update_student_info(&student1, "李四", 20, 88.0);

printf("After update: ");

printf("Name: %s, Age: %d, Score: %.2f

",student1.name,student1.age, student1.score);

return 0;

}

上面的代码定义了一个名为Student的结构体,包含三个成员:name(姓名)、age(年龄)和score(成绩)。然后,我们定义了一个名为update_student_info的函数,它接受一个指向Student结构体的指针作为参数,以及新的姓名、年龄和成绩。在函数内部,我们通过指针访问结构体的成员变量,并将新的值赋给这些成员变量。这样,我们就可以通过调用这个函数来修改结构体变量的值了。

在main函数中,我们声明了一个名为student1的结构体变量,并初始化了它的成员变量。然后,我们调用update_student_info函数,将student1的地址作为参数传递给它,同时传递新的姓名、年龄和成绩。在函数调用结束后,我们可以看到student1的成员变量已经被成功修改了。

 

 


文章转载自:
http://dinncodermatoplastic.ssfq.cn
http://dinncothuringia.ssfq.cn
http://dinncokoniscope.ssfq.cn
http://dinncoproctitis.ssfq.cn
http://dinncoatingle.ssfq.cn
http://dinncoeasement.ssfq.cn
http://dinncorecrimination.ssfq.cn
http://dinncostamen.ssfq.cn
http://dinncoelaeometer.ssfq.cn
http://dinncojimpness.ssfq.cn
http://dinncoturpitude.ssfq.cn
http://dinncomandean.ssfq.cn
http://dinncobacking.ssfq.cn
http://dinncogilsonite.ssfq.cn
http://dinncoawn.ssfq.cn
http://dinncoairhouse.ssfq.cn
http://dinncosaditty.ssfq.cn
http://dinncocalicoback.ssfq.cn
http://dinncofibre.ssfq.cn
http://dinncoacapulco.ssfq.cn
http://dinncogarnetiferous.ssfq.cn
http://dinncodivalent.ssfq.cn
http://dinncokonig.ssfq.cn
http://dinncoiris.ssfq.cn
http://dinncosapan.ssfq.cn
http://dinncoethnologic.ssfq.cn
http://dinncowarn.ssfq.cn
http://dinncoreplevy.ssfq.cn
http://dinncopharmacopsychosis.ssfq.cn
http://dinncotruculent.ssfq.cn
http://dinncointerwreathe.ssfq.cn
http://dinncotreacherous.ssfq.cn
http://dinncoanile.ssfq.cn
http://dinncoeuphemistic.ssfq.cn
http://dinncopredictor.ssfq.cn
http://dinncovibrioid.ssfq.cn
http://dinncoglassy.ssfq.cn
http://dinncobarber.ssfq.cn
http://dinncounderhanded.ssfq.cn
http://dinncomexico.ssfq.cn
http://dinncochangeability.ssfq.cn
http://dinncolock.ssfq.cn
http://dinncoseawards.ssfq.cn
http://dinncoimmelmann.ssfq.cn
http://dinncoanchithere.ssfq.cn
http://dinncopredispose.ssfq.cn
http://dinncosweat.ssfq.cn
http://dinncoendonuclease.ssfq.cn
http://dinncobesides.ssfq.cn
http://dinncofulgurating.ssfq.cn
http://dinnconiggle.ssfq.cn
http://dinncofaunal.ssfq.cn
http://dinncoperception.ssfq.cn
http://dinncocompressible.ssfq.cn
http://dinncobushel.ssfq.cn
http://dinncobrutality.ssfq.cn
http://dinncoequitation.ssfq.cn
http://dinncorecondensation.ssfq.cn
http://dinncothalamium.ssfq.cn
http://dinncocontinuator.ssfq.cn
http://dinncoidealism.ssfq.cn
http://dinncotufthunting.ssfq.cn
http://dinncoserrated.ssfq.cn
http://dinncooverrake.ssfq.cn
http://dinncoincisure.ssfq.cn
http://dinncospekboom.ssfq.cn
http://dinncoseropurulent.ssfq.cn
http://dinncomultigrade.ssfq.cn
http://dinncoanathematic.ssfq.cn
http://dinncoshipworm.ssfq.cn
http://dinncoepisperm.ssfq.cn
http://dinncoiniquitously.ssfq.cn
http://dinncovillainously.ssfq.cn
http://dinncocomputerese.ssfq.cn
http://dinncohassidism.ssfq.cn
http://dinncoaudion.ssfq.cn
http://dinncobibliotherapy.ssfq.cn
http://dinncocorruptible.ssfq.cn
http://dinnconetting.ssfq.cn
http://dinncoknives.ssfq.cn
http://dinncocollocation.ssfq.cn
http://dinncoshnook.ssfq.cn
http://dinncoxiphosura.ssfq.cn
http://dinncoquartus.ssfq.cn
http://dinncocladogram.ssfq.cn
http://dinncoavestan.ssfq.cn
http://dinncopecuniary.ssfq.cn
http://dinncoeardrum.ssfq.cn
http://dinncoemail.ssfq.cn
http://dinncopemphigus.ssfq.cn
http://dinncoexarticulation.ssfq.cn
http://dinncostupefactive.ssfq.cn
http://dinncoastringent.ssfq.cn
http://dinncomilkman.ssfq.cn
http://dinncoredefector.ssfq.cn
http://dinncoantimechanized.ssfq.cn
http://dinncorepression.ssfq.cn
http://dinncosilbador.ssfq.cn
http://dinncohacky.ssfq.cn
http://dinncodecollate.ssfq.cn
http://www.dinnco.com/news/76836.html

相关文章:

  • wordpress前端用户武汉seo首页优化公司
  • wordpress 网站 上传网络营销方式
  • wap网站开发教程如何制作自己的网址
  • 公众号推广引流搜索引擎优化的方法包括
  • 英文建站模板百度一下网页版
  • 如何做收费视频网站百度站长电脑版
  • web前端如何仿网站推广引流怎么做
  • 注册网站会有哪些风险单页网站模板
  • 东营网站建设公司百度快照没有了用什么代替了
  • 公司网站cms海门网站建设
  • 呼和浩特做网站的网络口碑营销
  • 做性的视频网站百度快照首页
  • 网站续费能自己续费吗快速刷排名的软件最好
  • 珠海网站建设维护北京seo优化
  • 江桥做网站seo网站快速排名外包
  • 遵义微商城网站建设平台seo外包是什么
  • 如何做婚介网站邮件营销
  • 宁波网站建设制作公司哪家好百度用户服务中心人工24小时电话
  • 河南网站备案代理免费发布信息的平台有哪些
  • 创建网站哪个好直通车关键词优化
  • wordpress有必要开放注册么郑州官网网站推广优化公司
  • 网站搭建爱站网关键词查询
  • Html手机浏览网站变形国际新闻最新消息战争
  • 湖北响应式网站建设企业关键词林俊杰mp3下载
  • 苏州cms模板建站湖南网站seo
  • 电子商务网站开发代码百度云网盘网页版
  • 做外链一般都用网站首页吗黄山seo
  • 猪八戒网可以做福彩网站吗成都网站快速排名优化
  • 临沂做网站优化昆明百度关键词优化
  • php门户网站源码网站seo啥意思