海贼19-8班现场课
9262人加入学习
(1人评价)
C语言程序设计(海贼现场课)
价格 ¥ 600.00
该课程属于 海贼19-8班(C++高薪班) 请加入后再学习

总结:

1、

如果,想表示一个人,怎么定义?要表示的变量特别多,有年龄,名字,身高等等;

有一个特殊的“类型”——结构体类型!——

struct person {

    char name[20]

    int age;

    char gender;

    float height;

}

 

2、

类型和变量如何区分?

2.1、一个类型可以声明很多相同类型的变量;

2.2、struct person 代表的是一个类型;而person本身不是一个类型

 

3、

计算机会以当前结构体中的最大类型,最为开辟空间的对齐标准。最大类型为多少字节,每次就开辟多少字节;

struct node1{

    char a;

    char b;

    int c;

}

 

struct node1{

    char a;

    int c;

    char b;

}

第一种:| a | b | _ | _ | c | c | c | c |——总占据8字节;

第二种:| a | _ | _ | _ | c | c | c | c | b | _ | _ | _ |——总占据12个字节,因为开辟了4字节放了一个char后,放不下int,所以新开了4个字节放int,因此就空了3个字节;

因此,对于相同字节,要放在一起定义,减少开辟空间的“大小”

 

4、

struct node1 {}后,

在C++中,可以用node1 a去定义一个变量,因为对于C++,它是一个类;

而在C语言中是一个类型,因此在C语言中,得这么写 struct node1 a;

 

5、

直接访问,a就是它所定义的变量,再去访问a中的字段,就是直接访问,例如:a.b,访问了一个char类型的变量。

间接访问,*a代表我定义了指向struct node1类型的指针变量(还是指向该结构体类型的首地址吗?例如数组的首地址),这就是间接访问。

[展开全文]

授课教师

C++算法工程师
高级算法研发工程师

课程特色

文档(9)
视频(50)
图文(22)
下载资料(3)