结构体类型
科学大道上只有我一个
可以迷茫,但别停下学习的脚步
展开
-
枚举和共用体
枚举类型直接看代码解释#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>enum Sex { // 枚举的可能取值-常量 MALE, FEMALE, SECRET };int main() { enum Sex s = MALE; s = FEMALE; //FEMALE = 3;//报错 //s = 3;//没报错,但是语法不严格 printf("%d\n", MALE); printf("%d\n",原创 2022-05-03 12:33:22 · 275 阅读 · 0 评论 -
结构体数组
结构体数组直接对比两个代码,分别进行结构体变量初始化,整体复制,以及修改变量1 这个代码是创建了两个结构体变量student1,student2#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<string.h>struct Stu { char name[20]; double height; char sex; char* talk;};void print(struct Stu* St原创 2022-03-16 22:45:37 · 220 阅读 · 0 评论 -
结构体基础
结构体的定义结构体是一些值的集合,这些值称为成员变量。结构体的每个成员可以是不同类型的变量。结构体声明struct tag { member - list;//成员变量}variable-list;//变量列表定义结构体变量定义这里用一种书举例子,成员变量有书名,价格,以及版本book1,book2,book3都是结构体类型变量,book4 是局部变量注意,结构体出来后只是变量类型,并没有申请内存空间,当其初始化后,会申请内存空间。struct Book { char name[20原创 2022-03-12 20:57:21 · 362 阅读 · 0 评论 -
结构体传参
结构体传参首先看两个打印结构体数据的函数print1和print2#include<stdio.h>#include<string.h>struct Stu{ char name[20]; double height; char sex; char* talk;};void print1(struct Stu Str) { printf("name:%s\n", Str.name); printf("height:%f\n", Str.height);原创 2022-03-13 12:28:25 · 215 阅读 · 0 评论 -
结构体进阶(2)---结构体内存对齐
结构体内存对齐首先看一段代码#include<stdio.h>struct S1 { char c1; int a; char c2;};struct S2 { char c1; char c2; int a;};int main() { struct S1 s1 = { 0 }; printf("%d\n", sizeof(s1)); struct S2 s2 = { 0 }; printf("%d\n", sizeof(s2)); getchar原创 2022-04-18 20:05:43 · 210 阅读 · 0 评论 -
结构体进阶(1)---结构体类型的创建
匿名结构体类型再声明结构的时候,可以不完全的声明。以下代码省略了标签,所以只能使用已经创建好的变量,不能再通过结构体创建新的变量// 匿名结构体类型struct { char name[20]; short int price; short int version;//全局变量}book1, book2;struct { char name[20]; short int price; short int version;//全局变量}*book3,books[2];int m原创 2022-04-12 17:44:06 · 260 阅读 · 0 评论