文章目录

  • 一、结构体类型变量初始化
    • 1、定义变量时进行初始化
    • 2、定义普通结构体时声明变量并初始化
    • 3、定义隐式结构体时声明变量并初始化
  • 二、完整代码示例

一、结构体类型变量初始化


1、定义变量时进行初始化

结构体类型如下 :

typedef struct Teacher
{char name[20];int age;int id;
}Teacher;

定义结构体变量时 , 进行初始化操作 :

    // 1.1 定义变量的同时进行初始化Teacher t2 = {"Tom", 18, 1};

2、定义普通结构体时声明变量并初始化

定义结构体类型的同时 , 定义结构体变量 , 同时进行初始化 ;

// 1.2 定义结构体类型的同时 , 定义结构体变量 , 同时进行初始化
struct Student3
{char name[20];int age;int id;
} s6 = {"Tom", 18, 1};

3、定义隐式结构体时声明变量并初始化

定义隐式结构体类型的同时 , 定义结构体变量 , 同时进行初始化 ;

// 1.3 定义隐式结构体类型的同时 , 定义结构体变量 , 同时进行初始化
struct
{char name[20];int age;int id;
} s7 = {"Tom", 18, 1};

二、完整代码示例


完整代码示例 :

#include <stdio.h>
#include <stdlib.h>
#include <string.h>/*** @brief The Student struct* 定义 结构体 数据类型 , 这是定义了 固定大小内存块别名* 此时还没有给 结构体 分配内存* 声明了 结构体类型 变量后 , 才会在 栈内存中为其分配内存* 使用 malloc 可以在堆内存中为其分配内存*/
struct Student
{char name[20];int age;int id;
};/*** @brief The Teacher struct* 定义 结构体 数据类型 , 同时为该结构体类型声明 别名* 可以直接使用 别名 结构体变量名 声明结构体类型变量* 不需要在前面添加 struct 关键字*/
typedef struct Teacher
{char name[20];int age;int id;
}Teacher;// II. 定义隐式结构体类型的同时定义变量// 定义隐式结构体类型 , 没有结构体名称
// 在结构体结尾直接声明变量名
struct
{char name[20];int age;int id;
}s2, s3;// III. 定义结构体类型的同时定义变量// 定义结构体类型的同时 , 定义结构体变量
// 普通的结构体类型后 , 声明结构体类型变量
struct Student2
{char name[20];int age;int id;
}s4, s5;// 1.2 定义结构体类型的同时 , 定义结构体变量 , 同时进行初始化
struct Student3
{char name[20];int age;int id;
} s6 = {"Tom", 18, 1};// 1.3 定义隐式结构体类型的同时 , 定义结构体变量 , 同时进行初始化
struct
{char name[20];int age;int id;
} s7 = {"Tom", 18, 1};/*** @brief main* @return*/
int main()
{// I. 用 类型 定义结构体变量// 在栈内存中 定义 Student 结构体 类型变量struct Student s1;// 使用类型别名 定义 Teacher 结构体类型变量Teacher t1;// 变量初始化// 1.1 定义变量的同时进行初始化Teacher t2 = {"Tom", 18, 1};// 命令行不要退出system("pause");return 0;
}

【C 语言】结构体 ( 结构体类型变量初始化 | 定义变量时进行初始化 | 定义隐式结构体时声明变量并初始化 | 定义普通结构体时声明变量并初始化 )相关推荐

  1. 【C 语言】结构体 ( 结构体类型定义 | 结构体类型别名 | 声明结构体变量的三种方法 | 栈内存中声明结构体变量 | 定义隐式结构体时声明变量 | 定义普通结构体时声明变量 )

    文章目录 一.结构体类型定义 二.结构体类型别名 三.结构体类型变量声明 1.使用结构体类型 ( 别名 ) 声明变量 2. 定义隐式结构体时声明变量 3.定义普通结构体时声明变量 二.完整代码示例 一 ...

  2. SAGANPose | 隐式结构化对抗人体姿态估计网络

    Adversarial PoseNet: A Structure-aware Convolutional Network for Human Pose Estimation Official Code ...

  3. 【数据结构初阶】第八篇——二叉树的链式结构(二叉树的前、中和后序遍历+层序遍历+链式结构的实现+相关简单的递归问题)

    ⭐️本篇博客我要来和大家一起聊一聊数据结构中的二叉树的链式结构的实现及相关的一些问题的介绍 ⭐️博客代码已上传至gitee:https://gitee.com/byte-binxin/data-str ...

  4. VTK和ParaView中引入了显式结构化网格表达地质网格

    Introducing Explicit Structured Grids in VTK and ParaView - Kitware Blog 1.简介 新版本的vtk引入了适用于油藏角点网格模型的 ...

  5. c语言 隐式声明,关于C#:隐式函数声明和链接

    最近,我了解了C语言中的隐式函数声明.主要思想很明确,但在这种情况下,我对理解链接过程有些麻烦. 考虑以下代码(文件a.c): #include int main() { double someVal ...

  6. linux下c语言线程传参数,【linux】C语言多线程中运行线程池,在线程池中运行线程池,,传递的结构体参数值为空/NULL/0...

    C语言多线程中运行线程池,在线程池中运行线程池,,传递的结构体参数值为空/NULL/0 本贴问题,之前已经提问过一次,当时已经解决了,原贴在这里https://segmentfault.com/q/1 ...

  7. C语言程序顺序结构1交换变量,如何将c语言中结构体内的所有类型变量的值输出来...

    教了多年<C程序设计>课程,大多学生觉的这门课程难学.其实,按照我们现在的教学大纲和教学要求,只要同学们掌握一些方法,克服心理上畏难.不轻言放弃,是完全可以学好的. <C 程序设计& ...

  8. 用结构体指针指向(-)或结构体变量加点(.)后不出现结构体成员

    今天写代码时遇到这么个问题:用结构体指针指向(->)或结构体变量加点(.)后不出现结构体成员,虽然不影响编写,但效率降低,容易出错. 代码入下: stack.h #ifndef __STACK_ ...

  9. 浙大版《C语言程序设计》第四版(何钦铭颜晖) 第4章 循环结构 课后习题答案

    浙大版<C语言程序设计>第四版(何钦铭颜晖) 第4章 循环结构 课后习题答案 你也可以上程序咖(https://meta.chengxuka.com),打开大学幕题板块,不但有答案,讲解, ...

最新文章

  1. 命名式ACL配置实例
  2. [Leetcode] Copy list with random pointer 对带有任意指针的链表深度拷贝
  3. 任务与中断共享资源冲突示例
  4. 云原生系列「四」我为啥不看好ServiceMesh?
  5. 如何处理SAP Fiori Launchpad错误消息:Could not start the app due to a configuration problem
  6. Linux之tomcat日志管理
  7. 知识图谱最新权威综述论文解读:知识图谱补全部分
  8. java 一个整数的位数字_Java 输入一个整数,计算它各位上数字的和。(注意:是任意位的整数)...
  9. 2014025675 《嵌入式系统程序设计》第七周学习总结
  10. vue 百度统计_2021暑期实习面经百度篇
  11. itsdangerous
  12. 形式语言与自动机第一课
  13. 手机计算机如何用科学计算法,手机计算器开根号怎么按(万能科学计算器在线使用方法)...
  14. Paypal REST API Java 版 PC端商城支付接口对接。
  15. Python成品:运用turtle模块绘画
  16. 宠物医院小程序开发,轻松引流
  17. oracle 4043,oracle desc dba_data_files视图报ORA-4043错误小记
  18. ArcGIS制图学习(1)
  19. python反向切片_python切片
  20. 深度解析名企项目研发管理成功之路

热门文章

  1. “TI门外汉”网路知识笔记七 快速以太网通道
  2. js 区分 safari chrome iso
  3. 浅谈ThreadPool 线程池(引用)
  4. 解决非浏览器客户端请求nginx无法命中缓存的问题
  5. Buffer Cache Hit Ratio
  6. C++默认参数与函数重载
  7. 管中窥豹,初探Win RE(Windows恢复环境)
  8. 面向 Photoshop 的英特尔® Texture Works 插件
  9. CF1097D Makoto and a Blackboard(期望)
  10. 一类SG函数递推性质的深入分析——2018ACM陕西邀请赛H题