### C语言学习笔记知识点梳理 #### 一、C语言中的函数 C语言中的函数是程序设计的基本单位之一,主要用于组织代码、实现特定功能并能够被重复调用。 1. **函数分类** - **库函数**:由系统提供的标准函数,如`printf()`、`scanf()`等。 - **自定义函数**:程序员根据需求自行编写的函数。 2. **函数结构** - **函数声明**:告诉编译器函数的存在及其参数类型,以便于在调用前进行类型检查。 ```c 返回值类型 函数名(参数列表); ``` 例如:`void fun(int a);` - **函数定义**:实际执行的代码块,包含函数的具体实现逻辑。 ```c 返回值类型 函数名(参数列表) { // 函数体 } ``` 例如: ```c int fun(int a, int b) { int x; x = a; a = b; b = x; return x; } ``` 3. **函数调用** - 在调用函数之前,如果函数定义在主调函数后面,则需要先声明该函数。 - 如果函数定义在其他文件中,则需通过包含头文件的方式来使用该函数。 4. **函数传递参数** - **值传递**:实参向形参传递的是值的副本,因此改变形参不会影响实参。 - **地址传递**:通过指针传递变量的地址,可以在函数内部改变实参的值。 例如: ```c void fun(int *a, int *b) { int x; x = *a; *a = *b; *b = x; } ``` #### 二、C语言中的指针 指针是C语言中的一个重要概念,用于存储内存地址。 1. **指针定义** - 指针是一种特殊的变量,它存储的是其他变量的地址。 - 定义格式:`类型 *指针名;` 例如:`int *p;` 表示`p`是一个指向整型变量的指针。 2. **指针操作** - **取址运算符**`&`:获取变量的地址。 - **间接访问运算符**`*`:访问指针所指向的变量。 - 示例: ```c int a = 5; int *p = &a; // p 存储的是a的地址 *p = 10; // 通过指针改变a的值 ``` 3. **特殊指针类型** - **函数指针**:指向函数的指针。 ```c int (*fun)(int a); // 定义了一个指向接受一个int参数并返回int的函数指针 int test(int a) { return a + 1; } // 一个简单的函数 fun = test; // 将test函数的地址赋值给fun指针 ``` - **结构体指针**:指向结构体变量的指针。 ```c struct student { int data; char c[20]; }; struct student stu; struct student *p = &stu; // p 是指向结构体stu的指针 ``` - **数组指针**:指向数组的指针。 ```c char (*p)[10]; // p 是一个指向长度为10的字符数组的指针 char arr[10][20]; p = arr; // p 指向arr的第一个元素 ``` - **指针数组**:数组中的每个元素都是指针。 ```c char *p[10]; // p 是一个包含10个char指针的数组 ``` 4. **指针与数组** - 数组名实际上是一个常量指针,指向数组的第一个元素。 ```c int a[10]; int *p = a; // p 和 a 都指向同一个地址 ``` 通过以上内容的学习,我们可以看到C语言中函数和指针的重要性以及它们在程序设计中的广泛应用。理解这些基本概念有助于更好地掌握C语言,并为后续学习复杂的数据结构和算法打下坚实的基础。
剩余7页未读,继续阅读
- 粉丝: 7
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助