C语言中,结构体是一种很常用的数据类型。简单而又复杂,能够用好它实属不易。下面总结下它的常见用法及容易出错的地方。

一、关于结构体的声明

1、匿名声明。例如:

struct {int i,j;}point;

说明:

这段代码的含义是,声明一个无名(anonymous)的结构体,并创建了一个结构体变量point。如果这段声明是放在全局域内,那么point内的变量将被初始化为默认值,换句话说,以这种方式声明结构体变量时就已经为它分配了内存空间。

适用于该结构体只需要产生一个变量!本例中,该匿名结构体将有且仅有point这个结构体变量!

2、结构体的常规声明

struct stu_info//结构体类型定义 {int id;char name[20];char add[20];int age; };

注意花括号后面的分号

二、结构体的初始化

1、局部变量初始化

struct stu_info stu01={.tel=1768393435,strcpy(stu01.sex,"男"),strcpy(stu01.mingzi,"夏洛特007")}; 

2、常规初始化

 struct stu_info{char mingzi[20];//名字 long long tel; //手机号 char dress[20];//地址long long QQ;//qq号 char sex[10];//性别 struct birth bir;//结构体的嵌套!!!!! }stu03={"夏洛特2号",10086,"北京",10010,"女"};//初始化 

3、常规赋值

struct stu_info stu01;strcpy(stu01.mingzi,"夏洛特");strcpy(stu01.dress,"西安");stu01.QQ=1008611;strcpy(stu01.sex,"男");stu01.tel=1768393435; 

c语言结构体知识总结相关推荐

  1. ARM汇编语言实现peek()_ARM汇编之访问C语言结构体数据

    前言 本文的写作目的在于装逼,没有要产生实际价值的意思. 前几天在做编译器的项目,有一个项目团队成员一直在问我ARM汇编能不能读C语言的结构体.我心想,我这生成ARM汇编的代码是用C++写的呀,又不是 ...

  2. c++ new一个结构体_C语言结构体,又一个纸老虎,纯干货讲解(附代码)

    来源:网络,排版整理:晓宇 微信公众号:芯片之家(ID:chiphome-dy)结构体的定义结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构.结构体和其他类型基础数 ...

  3. C语言结构体详解(结构体定义,使用,结构体大小等)

    c语言结构体详解 1.c语言结构体 1.1 结构体基础知识 1.2 结构体声明 1.3 结构体特殊声明 1.4 结构体的自引用 1.5 结构体的大小的计算 1.5.1了解结构体大小计算规则 1.5.2 ...

  4. C语言结构体——位段概念的讲解

    前言 之前我对结构体内存分配的方式.对默认对齐数的指令修改做了详细的博客讲解,(C语言结构体详解 (2) 结构体内存对齐,默认对齐数,大家有兴趣的话可以去了解了解这方面的知识. 一. 什么是位段? 位 ...

  5. C语言结构体与结构体指针的使用

    C语言结构体与结构体指针的使用 tips:最近要好好学习一下数据结构,所以必不可少的就是c语言的结构体和结构体指针了,所以就整理一下这些基础知识 c语言结构体(struct)是由一系列具有相同类型或不 ...

  6. c语言中定义结构体指针的作用,C语言结构体定义,使用及指针(1)

    前言 C语言中的结构体作为一大难点,并且对于需要学习数据结构的同学来说,这个结构是每次上课都会遇到的,所以,我们只有更深层次的理解结构体的知识,才能更好的掌握数据结构 结构体用处 结构体到底有什么用? ...

  7. C语言坐标结构,关于c语言结构体偏移的一点思考(一)

    1 引言 而在实际开发过程中,比较常见的场景是给定结构体变量的初始地址,如何访问结构体内每一个成员变量?这类问题的核心是如何快速的计算结构体成员变量的偏移地址.本文将和大家一起探讨结构体内成员变量偏移 ...

  8. golang常用库之mapstructure包 | 多json格式情况解析、GO json 如何转化为 map 和 struct、Go语言结构体标签(Struct Tag)

    文章目录 golang常用库之mitchellh/mapstructure包 | go将map转换为struct 一.msgpack 二.背景 三.多json格式情况解析使用思路 四.mapstruc ...

  9. c语言结构体成员变量私有化,C语言中结构体变量私有化详解

    C语言中结构体变量私有化详解 背景介绍 操作系统 : CentOS7.3.1611_x64 gcc版本 :4.8.5 什么是结构体? 在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚 ...

最新文章

  1. 可见光能量范围_通过能量转移技术实现双功能金属有机框架中分子马达的可见光驱动旋转...
  2. Python开发【第十二篇】:DOM
  3. RK3399如何选择系统呢?
  4. C++友元函数和友元类(三)
  5. php将换行变为 p 标签,editplus 将文本换行替换为p标签
  6. 漫画谈-微积分(一)
  7. UML的奥妙 - 学习UML笔记(1)
  8. SecureCRT 中 python 命令行使用退格键(backspace)出现 ^H 解决办法
  9. php Heredoc应用说明
  10. 开年趣图汇总:对不起,让你笑了这么久
  11. [C++11]initializer_lisr模板类的使用
  12. 为什么kill进程后socket一直处于FIN_WAIT_1状态
  13. 【深入浅出etcd系列】1. 架构概览
  14. 将下图的nfa确定化为dfa_想要确定一个宝石矿物种,必须要确定这两大因素
  15. Tomcat配置和使用——详解
  16. hdu 1083 Courses
  17. 【译】三层架构代码生成器(NetTierGenerator)
  18. 辽宁专科php教材用什么,辽宁新高考改革方案的具体内容是什么?
  19. HTML导航栏的四种制作方法
  20. SEO和SEM、ASO之间的区别?

热门文章

  1. 教你提升企业生产效率,再也不用求人!
  2. 绿卡日记:2020-09-25
  3. 用免费的webservice查询手机号
  4. text-indent html,css text-indent属性怎么用
  5. 其实位图透明下去原来很简单,用TransparentBlt就可以了
  6. Vue3+ts——动画Loading以及引入本地随机背景效果
  7. 9、Markdown 表格
  8. 【商分篇】02 数据指标及指标体系,商业分析的起跑线
  9. Transformer 多模态
  10. Windows系统提权姿势