首页 > 其他分享 >C 语言结构体常用操作

C 语言结构体常用操作

时间:2023-04-22 09:45:40浏览次数:39  
标签:常用 stu1 struct pStu name score 操作 结构 语言

在C语言中,结构体是一种包含不同数据类型的自定义数据类型。常用的结构体操作有:

 

1. 定义结构体

 

定义结构体可以使用`struct`关键字,语法格式如下:

 

```c

struct 结构体名称 {

    数据类型 成员名称1;

    数据类型 成员名称2;

    //...

};

```

 

例如:

 

```c

struct Student {

    char name[20];

    int age;

    float score;

};

```

 

2. 初始化结构体

 

初始化结构体可以在定义时进行,语法格式如下:

 

```c

struct 结构体名称 结构体变量名 = {成员1初始值, 成员2初始值, ...};

```

 

例如:

 

```c

struct Student stu1 = {"小明", 18, 90.5};

```

 

3. 访问结构体成员

 

访问结构体成员需要使用`.`运算符,格式如下:

 

```c

结构体变量名.成员名称

```

 

例如:

 

```c

printf("姓名:%s,年龄:%d岁,成绩:%.1f分", stu1.name, stu1.age, stu1.score);

```

 

4. 结构体数组

 

结构体数组表示多个相同类型的结构体变量,例如:

 

```c

struct Student stuArr[3] = {

    {"小明", 18, 90.5},

    {"小红", 17, 89.0},

    {"小刚", 18, 95.0}

};

```

 

访问结构体数组中的某个结构体变量的成员:

 

```c

printf("%s的成绩是%.1f分", stuArr[0].name, stuArr[0].score);

```

 

5. 结构体指针

 

获取结构体变量的地址可以使用`&`运算符,格式如下:

 

```c

&结构体变量名

```

 

获取结构体指针可以使用`*`运算符,格式如下:

 

```c

struct 结构体名称 *结构体指针变量名;

```

 

例如:

 

```c

struct Student *pStu = &stu1;

```

 

通过结构体指针访问结构体成员使用`->`运算符:

 

```c

printf("姓名:%s,年龄:%d岁,成绩:%.1f分", pStu->name, pStu->age, pStu->score);

```

 

6. 结构体作为函数参数

 

可以将结构体作为函数参数进行传递,例如:

 

```c

void printStudent(struct Student stu) {

    printf("姓名:%s,年龄:%d岁,成绩:%.1f分", stu.name, stu.age, stu.score);

}

```

 

或者使用结构体指针作为函数参数:

 

```c

void printStudent(struct Student *pStu) {

    printf("姓名:%s,年龄:%d岁,成绩:%.1f分", pStu->name, pStu->age, pStu->score);

}

```

 

7. 结构体嵌套

 

结构体中可以嵌套其他的结构体,例如:

 

```c

struct Date {

    int year;

    int month;

    int day;

};

 

struct Student {

    char name[20];

    int age;

    float score;

    struct Date birthday; // 嵌套了日期结构体

};

```

 

访问嵌套结构体的成员可以使用`.`和`->`运算符,例如:

 

```c

printf("%s的生日是%d年%d月%d日", stu1.name, stu1.birthday.year, stu1.birthday.month, stu1.birthday.day);

```

标签:常用,stu1,struct,pStu,name,score,操作,结构,语言
From: https://www.cnblogs.com/full-stack-linux-new/p/17342476.html

相关文章

  • C 语言 共用体操作
    在C语言中,共用体是一种特殊的数据结构,它的所有成员都占用同一个内存空间,常用的共用体操作有: 1.定义共用体 定义共用体使用`union`关键字,语法格式如下: ```cunion共用体名称{  数据类型成员名称1;  数据类型成员名称2;  //...};``` 例如: ```c......
  • C 语言各个数据类型的输入输出
    -1.整型(int)的输入输出: 输入: ```cintnum;printf("请输入一个整数:\n");scanf("%d",&num);//注意取地址符&``` 输出: ```cintnum=123;printf("这个数字是%d。\n",num);``` 2.浮点型(float和double)的输入输出: 输入: ```cfloatnum1;doubl......
  • sublime常用配置
    //Settingsinhereoverridethosein"Default/Preferences.sublime-settings",//andareoverriddeninturnbysyntax-specificsettings.{"update_check":false,"font_size":13,"theme":"Default.s......
  • 机器学习--数据操作初试
    #加载数据集,返回字典类型的数据sklearn.datasets.load_iris()数据示例iris=sklearn.datasets.load_iris()#数据集特征值iris['data']#数据集标签值iris['target']特征和标签相对应数据集的划分由于数据集在某些情况下是很珍贵的,并且在训练后需要对模型性能进行验......
  • 2023-04-21:用go语言重写ffmpeg的metadata.c示例。
    2023-04-21:用go语言重写ffmpeg的metadata.c示例。答案2023-04-21:这段Go代码演示了如何使用ffmpeg-go库中的函数来读取多媒体文件元数据,包括视频、音频等信息。它的大体过程如下:设置环境变量以加载FFmpeg动态链接库这里将FFmpeg库中的各个动态链接库路径添加到环境变......
  • Docker镜像操作
    Docker保存镜像1.保存容器更改将容器修改的内容保存为镜像dockercommitappdocker在提交容器更改时可以附加提交信息,方便查询dockercommit-m"firstinitapp"2.镜像命名通过dockertag命令可以对未命名的镜像命名,也可以修改已有镜像的命名dockertag容器idapp:1......
  • 05 基础的数据操作
    05基础的数据操作在创建了数据库和数据库表之后,我们就可以在表中进行数据操作了。基础操作分为添加删除修改查询以上4种操作又简称为CURD(Create,Update,Retrieve,Delete)一.添加数据插入数据的类型:添加一行中所有列对应的数据,不写列名添加一行中某些列对应的......
  • 07 常用函数
    07常用函数关系型数据库的常用函数大多数从命名到功能都是一样的,但也有少量不一致。通过常用函数的学习,我们可以更加方便的对数据进行操作。函数的作用:为了简化操作,mysql提供了大量的函数给程序员使用(比如输入当前时间,可以调用now()函数)函数可以出现的位置:插入语句的values()......
  • Hadoop操作
    基本命令启动Hadoopstart-dfs.sh确保ssh服务打开了,否则启动不成功打开ssh服务:sudo/usr/sbin/sshd创建文件夹hadoopfs-mkdir路径forexample!hadoopfs-mkdir/HomeWork就会在根目录创建一个HomeWork文件夹 上传文件hadoopfs-put文件名服务器端文件夹名For......
  • 阿里云ECS linux操作系统 tomcat域名配置SSL
    阿里云ECS linux操作系统 tomcat域名配置SSL启用域名https1、解压已保存到本地的Tomcat证书文件。解压后您将看到文件夹中有以下文件:证书文件(domain_name.pfx)密码文件(pfx-password.txt) 说明本文中证书名称以domain_name为示例。每次下载证书都会产生新的密码。......