1.定义结构提的语法格式

struct 【结构名称】

{

成员变量定义

}【变量名列表】;

2.结构体数据类型名

struct 【结构名称】,【结构名称】如果缺省则无法使用结构类型名来定义变量。

3.定义结构变量

可以在定义结构体时直接定义变量,也可以使用结构数据类型名来定义变量。

struct date{int y,m,d;};

struct student

{

long num;

char sex;

char name[9];

int weight,age;

float height;

struct date birthday;

}a1,a2,*p,b[5];

struct student *q=b,y[4][5];

其中,a1、a2都是普通结构变量,p、q都是以结构体struct student为对象类型的指针变量,b[5]和y[4][5]都是以结构体struct student为元素类型的数组。

4.结构体变量的存储结构

c语言按照成员变量的定义顺序依次存储各成员变量,整个结构变量占用的存储空间为所有成员变量存储空间之和。

5.指向结构体的指针

结构体指针的对象为整个结构变量,结构体指针进行加减整数n的运算时,地址值实际加减n倍结构体类型存储长度。

可以用内存分配函数为结构体指针建立对象,比如:

struct student *p1;

p1=(struct student *)malloc(sizeof(struct student));

6.结构体变量的初始化

在定义结构变量时,可以对结构变量进行初始化。结构变量的初始化就是对各成员变量赋初值。

语法格式是:

struct [结构名称]{成员变量定义} 变量名={成员变量初值表};

其中,成员变量初值必须是常量表达式;初值的排列顺序就是成员变量的定义顺序;初值之间用逗号分隔.

如:struct {int x,y;}point={1,5};

struct student st[3]={

{20011001,'M',"ZhangJun",61,18,1.80f,{198,3,15}},

{20011002,'W',"WuLi",61,18,1.80f,{198,3,15}},

{20011003,'M',"zhangjun",61,18,1.80f,{198,3,15}}

} ;

7.访问结构体成员变量

方式一:用结构体变量名访问成员:结构体变量名.成员变量名

方式二:用指向结构体的指针访问成员:结构体指针->成员变量名

如:st[1].num=20011004;         //将st[1]的学号改为20011004

st->height-=0.1;      //st[0]的身高减小0.1米

c语言结构体复习笔记相关推荐

  1. linux中c语言结构体详解,Linux C语言结构体-学习笔记

    Linux C语言结构体简介 前面学习了c语言的基本语法特性,本节进行更深入的学习. 预处理程序. 编译指令: 预处理, 宏定义, 建立自己的数据类型:结构体,联合体,动态数据结构 c语言表达式工具 ...

  2. python展开 c函数中的宏预处理_Linux C语言结构体-学习笔记

    Linux C语言结构体简介 前面学习了c语言的基本语法特性,本节进行更深入的学习. 预处理程序. 编译指令: 预处理, 宏定义, 建立自己的数据类型:结构体,联合体,动态数据结构 c语言表达式工具 ...

  3. C语言结构体复习(一)

    复习树的时候发现结构体实现并不流畅熟练,先搞定一下结构体.之后搞定树,二叉树,图等 目录 一. 几种结构体定义: 1.先是定义不带初始化的两个 2.然后是两个定义时就进行初始化的两个结构体 二.机构体 ...

  4. c语言结构体成员变量默认值,C语言结构体要点笔记

    近日,做一个东西却发现自己在C语言,特别是结构体这个知识点上还缺乏认识.所以在学习了网友的分享后,下面在下文记录一些重要的要点吧. 一.struct是一种复合数据类型(这一点很重要,结构体只是一个类型 ...

  5. c语言-结构体实例笔记

    结构体实例 实例一览: 使用结构体存储学生的信息 Store information of a student using structure 计算二者距离(以英寸英尺为单位) Add two dis ...

  6. c语言2个字符串可以相互赋值吗,c语言结构体2之变量赋值于字符串

    #include #include struct dangdang { char email[]; char name[]; char addr[]; int num; int bugnum; cha ...

  7. c语言结构体和联合体,C语言结构体和联合体

    1.单链表插入 #include #include #define FALSE 0 #define TRUE 1 typedef struct NODE{ STRUCT NODE *link; int ...

  8. 计算机科学类专升本复习之“C语言结构体”详解(初稿)

    C语言结构体详解,C语言struct用法详解 前面所学到的"数组":它是一组具有"相同类型"的数据的集合. 但是在实际的编程中,我们往往还需要 一组" ...

  9. c语言结构体教案,结构体——教学设计

    <结构体--教学设计>由会员分享,可在线阅读,更多相关<结构体--教学设计(7页珍藏版)>请在人人文库网上搜索. 1.课堂教学设计表章节名称结构体学科C语言程序设计授课班级大一 ...

最新文章

  1. Java_Shell多线程
  2. 【Python】青少年蓝桥杯_每日一题_4.03_求偶数
  3. apt-get、apt、yum、dpkg、rpm
  4. TensorFlow是什么?怎么用?终于有人讲明白了
  5. Flutter中使用友盟统计
  6. Spark API编程动手实战-08-基于IDEA使用Spark API开发Spark程序-01
  7. 如何不用BPM配置时间
  8. centos升级内核 大漠知秋_记一次centos 7内核升级事故
  9. 《冷眼看IT》读书笔记--IT将成为服务行业
  10. 机器学习(五)——机器视觉从入门到精通只要简单这3步
  11. 职工工资管理系统c语言,C++实现企业职工工资管理系统
  12. 【爬虫】使用八爪鱼爬行百度地图美食店数据
  13. linux系统的服务
  14. 关于内存类型 UDIMM、RDIMM、LRDIMM 的学习结论(转)
  15. 外盘国际期货是否合法吗?为啥还有人做期货主账户?
  16. oracle ebs ar 表,Oracle EBS R12 AR常用表
  17. 【基础强训】day4
  18. Android之延时操作方法
  19. 算法001-C++从0到1实现链表v1
  20. 怎么才能在Mac电脑提醒事项添加提醒事项

热门文章

  1. cad一键标注闭合区域lisp_自从用了这个CAD神器,我下班总比别人早
  2. requests payload_python+Requests接口自动化测试之传递 URL 参数
  3. SpaceX再送4人上太空,马斯克保证这次飞船厕所不会漏了
  4. 爆改100多元卡西欧,可测速、测温、测海拔,一点不输智能运动表
  5. 程序员为这支笔掰头10个月,隔壁小学生都馋哭了
  6. Science封面:三元锂电池安全性差、寿命短问题已解决,来自美国能源部华人团队最新研究...
  7. 2位华人获得加州理工学院计算机、数学博士奖学金,3年近一半由华人获得
  8. 8Manage CRM:智能时代会员“赢”销之宝
  9. 阿里巴巴Android开发手册(正式版)
  10. CCF NOI1063 计算组合数