//结构体 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<string.h> //结构体是一种构造数据类型,用途把不同的数据组合成一个整体 //结构体变量数据大,作为参数的时候一般会使用结构体指针传参 //结构体类型不分配内存,不能赋值,存取,运算 struct nameinfo{ int num; char name[40]; }d1,d2[9],*d3;//结构体的定义① //匿名结构体,用于限制该结构体的数量,只给某些有权限的使用 struct { int snum; char sname[40]; }sd1;//匿名结构体,必须在定义的时候就创建变量,其他条件下无法创建 struct mao{ char ch; int a[10]; }; struct gou{ int num; char name[10]; }; struct lang{ int num; double longnum; char name[10]; }; void main9(){ //结构体的定义② struct nameinfo info; //结构体赋值 info.num = 1; strcpy(info.name, "小米");//数组不可以直接赋值 printf("结构体的成员变量num=%d,name=%s\n", info.num, info.name); //结构体赋值② struct nameinfo d4 = { 2, "华为" }; //注意:结构体变量用大括号赋值,只有在创建并初始化的时候才可以 //d1 = { 2, "华为" }; 错误 不可如此赋值 //结构体指针 struct nameinfo *p = NULL; //结构体指针的初始化① p = &info; p->num = 2;//结构体指针的赋值 strcpy((*p).name, "雷云"); printf("结构体的成员变量num=%d,name=%s\n", (*p).num, p->name); //结构体指针的初始化② struct nameinfo *p1 = NULL; p1 = (struct nameinfo *)malloc(sizeof(struct nameinfo)); p1->num = 3; strcpy((*p1).name, "马化腾"); printf("结构体的成员变量num=%d,name=%s\n", (*p1).num, p1->name); //结构体字节对齐原则--见C语言 结构体(联合体)对齐规则 printf("结构体mao的大小是%d\n", sizeof(struct mao)); printf("结构体gou的大小是%d\n", sizeof(struct gou)); printf("结构体lang的大小是%d\n", sizeof(struct lang)); system("pause"); }
C语言 结构体
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
上一篇:C语言错误 BUG报错整理
下一篇:C语言 const与指针
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
结构体:修改默认对齐数、结构体传参——《初学C语言第45天》
修改默认对齐数、结构体传参
修改默认对齐数 结构体传参 -
自定义类型:结构体——《初学C语言第43天》
结构体
局部变量 数据结构 链表 -
[C语言] 结构体
结构体内存对齐
内存对齐 -
c语言结构体
结构体
c语言 结构体 i++ #include 内存空间 -
C语言-结构体
假如有一个函数需要学生的信息:姓名、年龄、身高、体重、爱好、特长、学校名称:void info(const char
struct 结构体 数据 #include 赋值 -
【C 语言】结构体 ( 结构体深拷贝 )
一、结构体浅拷贝与深拷贝、二、结构体深拷贝、三、结构体深拷贝代码示例、
c语言 结构体 结构体深拷贝 原力计划 赋值