数据结构前置内容
数据结构的定义:
数据结构是一种存储、组织数据的方式,在便于访问和修改。没有一种单一的数据结构对所有用途均有效,所以需要知道几种数据结构的优势和局限。
在学习数据结构之前,我们需要学习一下这些知识点
- 函数
- 数组
- 字符串
指针内存解析结构体
函数
1 | 函数是干嘛的?有哪些场景? |
函数的额四种形态
- 无参数,无返回值
- 无参数,有返回值
- 有参数,无返回值
- 有参数,有返回值
在日常写代码的时候,函数怎么时候加参数?什么时候加返回值?
我们需要基于需求来看要不要加参数和返回值。
字符串
初始化
在 C 语言中,没有字符串这个数据类型,我们通常是用一个数组来保存我们的字符,来达到一个字符串的形式。
| A | B | S | E | C | \0 |
|---|---|---|---|---|---|
我们会在结尾的时候加一个”\0”用来告诉计算机,这个是一个字符串。
1 | char str[] = "ABSEC"; |
我们这种属于是直接初始化了。
那我们在看一种情况
1 |
|
我们可以这样来进行初始化字符串吗?
1 | 不行,为啥不行呢? |
那我们该怎么写呢?
1 |
|
数组
数组我们需要知道的一个点就是,数组的长度一旦定义就不能改变了。
数组中的每一个元素可以用下表表示位置,如果一个为数组中有 n 个元素,那么下表的取值范围是 0~n-1.
我们用一个遍历数组的例子来复习:
1 |
|
1 | 我们得知道什么是 sizeof() 返回这个函数参数当中在内存中的字节数。 |
指针
什么是指针
指针是用来存放内存地址的变量,我们常用的 int,float,char 是用来存放 123,123.123,hello 这样类型的数据。如果说我定义了一个 int 类型的指针变量的话,那我们这个指针变量存档嗯就是一个 int 类型的地址。
指针声明
1 | int a; //声明一个整形变量 |
指针的使用
1 | int a; |
这个代码不难理解,但是我们可以看看这个代码在内存中的变化是什么样子的。假设我们的内存是从 101 这个地址开始的,我们在 101 里面放了这个 a。然后在 105 里面放了一个 p,我们给 a 赋值的是 5,然后 p 赋值的是 a 的内存地址。如下图
我们把这个代码完善一下:
这时可能就有人要问了,我这个指针存了这个地址可以干嘛?能做什么事情?
我们可以通过指针去改其他变量的指,就像我们上面这个代码,我们可以通过修改指针 p 来修改我们 a 的值。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 AnimeBucket's blog!







