Chapter 12 Data Structure 数据结构
在C中,数据结构是一种使用相同变量名存储不同类型数据的办法,也叫结构体
12.1 声明
我们可以通过如下代码声明一个数据结构:
1 | struct Neuron{ |
也可以在定义的同时声明一个该类型的变量:
1 | struct Neuron{ |
可以使用.点运算符,访问数据结构的成员,就像其他语言中访问对象的属性一样!
初始化
使用大括号可以在定义时对结构体进行初始化
1 |
|
我懒
每次声明变量都写一长段struct ...未免有些繁琐,所以,在C语言中,可以使用typedef为任何数据类型创建别名,其原型为
1 | typedef <existing_data_type> <new_data_type_name>; |
上述的代码便可以通过typedef简化
1 |
|
或者究极简化
1 | typedef struct Neuron { |
12.2 指向结构体的指针
可以通过以下代码定义一个指向结构体的指针
1 | Neuron n = {"Max", 1}; |
通过指针访问结构体成员
除了解引用之后访问成员,还可以使用箭头运算符来访问
1 | pNeuron->name = "123"; |
关于内存管理
free()函数必须接受一个malloc,calloc或 realloc返回的指针,切不可传入其他指针。
将malloc返回的指针进行加减后传入free将会导致未定义行为!!!!!
About this Post
This post is written by Jinyuan Zhou, licensed under CC BY-NC 4.0.