首页 > 分享 > C语言之初识结构体

C语言之初识结构体

目录

1.结构体的定义
2.结构体的定义形式
3.程序示例
4.总结

1. 结构体的定义

    1.1 程序开发人员可以使用结构体来封装一些属性,设计出新的类型,在C语言中称为结构体类型
    1.2 在C语言中提供了基本数据类型,比如char,short,int,float…等类型,我们称之为内置类型而结构体是一种数据类型。(是由程序开发者自己设计的类型)

2. 结构体的定义形式

struct 结构体名
{
        成员列表( 可以是基本数据类型, 指针, 数组或其它结构体类型)
};

注:结构体定义的花括号{ }后面的 ”;“不可少,而函数的定义的花括号{ }后面没有分号。

3. 程序示例

3.1 设计学生类型

#include<stdio.h> /** 学生类型 */ struct Student//student为结构体的类型名 {//结构体类型的成员char s_id[10];//学生idchar s_name[10];//学生姓名char s_sex[5];//学生性别int s_age;//学生年龄 };//结构体中 ;不可少 int main() {//定义结构体变量 并初始化struct Student stud = { "s20210414","WartenSIE","man",23 };//使用 . 来访问结构体变量的成员printf("id: %sn", stud.s_id);printf("name:%sn", stud.s_name);printf("sex:%sn", stud.s_sex);printf("age:%dn", stud.s_age);return 0; }

1234567891011121314151617181920

运行结果
在这里插入图片描述
3.2 指针类型

#include<stdio.h> struct Student//student为结构体的类型名 {char s_id[10];//学生idchar s_name[10];//学生姓名char s_sex[5];//学生性别int s_age;//学生年龄 }; int main() {int a = 10;int* ip = &a;//将a的地址赋值给ip//定义结构体变量 并初始化struct Student s1 = { "s20210414", "WartenSIE", "man", 23 };struct Student* sp = &s1;//sp = &s1; *sp = s1;printf("id:%sn", (*sp).s_id);//(*sp).s_id ==> sp->s_idprintf("id:%sn", sp->s_id);printf("ip size:%dn", sizeof(ip));//ip的类型为整型指针 int x86 4bit;x64 8bitprintf("sp size:%dn", sizeof(sp));//sp的类型为结构体类型指针 x86 4bit;x64 8bitreturn 0; }

12345678910111213141516171819202122232425

运行结果

①. x86平台
在这里插入图片描述
②. x64平台
在这里插入图片描述

4. 总结

    4.1 结构体定义的花括号{ }后面的 ”;“不可少,而函数的定义的花括号{ }后面没有分号。
    4.2 定义结构体变量并初始化后,使用 . 来访问结构体变量的成员。
    4.3 定义结构体指针类型的变量时struct Student* sp = &s1; 访问结构体变量的成员用(*sp).s_id 或 sp->s_id,一般采用后者。
    4.4 整型指针和结构体类型指针在x86平台的字节大小为 4bit;在x64平台的字节大小为 8bit。
    4.5 结构体是一种数据类型,是由程序开发者自己设计的类型。

相关知识

Go语言全栈开发:结构体
加法接力赛C语言算法,C语言循环结构
C语言烟花代码,C语言实现烟花表白代码
入门c语言(二)
如何用c语言输出一朵花
写一个C语言代码测量土壤湿度
C语言语法规范
用c语言写一朵最简单的花
2023年汉江师范学院普通专升本《C语言程序设计》考试大纲
C语言开发情人节玫瑰

网址: C语言之初识结构体 https://m.huajiangbk.com/newsview1100903.html

所属分类:花卉
上一篇: 原始战争:沙漠之花也将勇敢绽放
下一篇: 大括号内打两行公式,还附带标号或