结构体数组的赋值方法(常用的三种,包含字符串)

您所在的位置:网站首页 为什么字符数组可以直接输出数值 结构体数组的赋值方法(常用的三种,包含字符串)

结构体数组的赋值方法(常用的三种,包含字符串)

2023-09-24 13:18| 来源: 网络整理| 查看: 265

目录

一、按照成员变量进行赋值(麻烦,好理解,字符串赋值需要strcpy)

二、对数组整体进行赋值。(一次性需要把所有的都添加进去,不需要strcpy)

       (1) 在声明数组的时候,进行赋值

        (2)对有规律的数据赋值,比如学生结构体的学号是有规律的。

 三、使用输入进行赋值

(1)直接使用for,配合动态分配内存,这里按照数据库的数据类型,我将学号定义为char型,实际上定义为int 即可。

 (2)调用函数赋值,我们知道,结构体数组中,数组有多个元素,每个数组元素又有多个结构体成员变量,所以将每个数组元素用函数分别去赋值。

(3)通过指针给到其他函数去赋值(如果你看到这,才到了精髓,传参赋值)

一、按照成员变量进行赋值(麻烦,好理解,字符串赋值需要strcpy)

        这里使用了一个Init函数,为了在进一步说明传参的使用。实际上赋值按照需要放在主函数就行。

        (使用strcpy函数需要添加头文件string.h)

#include #include typedef struct date //定义了一个日期结构体,包含年月日三个成员 { int year; int mouth; int day; }datea; typedef struct schedule//定义了一个日程结构体,包含日期,和活动两个成员变量 { char name[10]; datea date; char activity[200]; }sch; int Init(sch *name) //初始化函数 数组用指针接收 { strcpy(name[0].name,"jack"); name[0].date.year = 2021; //使用级联运算 name[0].date.mouth = 11; name[0].date.day = 11; strcpy(name[0].activity,"Taobao shooping"); strcpy(name[1].name,"Amy"); name[1].date.year=2021; name[1].date.mouth = 11; name[1].date.day = 12; strcpy(name[1].activity,"play piano"); } int main() { sch name[2] ; Init(name); for(int i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3