C语言,指针所有知识点
时间: 2024-08-22 13:02:35 浏览: 55
C语言中的指针是其核心特性之一,它允许程序员直接操作内存地址。以下是关于指针的一些关键知识点:
1. 定义和声明:`*` 符号用于定义指针变量,比如 `int *ptr;` 表示 `ptr` 是一个指向整数的指针。
2. 取地址运算符:`&` 用于获取变量的地址,如 `int num = 10; int *ptr = #` 将 `num` 的地址赋值给 `ptr`。
3. 解引用运算符:`*` 用于访问指针所指向的内容,例如 `printf("%d", *ptr);` 输出 `num` 的值。
4. 指针算术:可以通过加减运算改变指针的位置,`++ptr` 或 `ptr++` 增加指针,`ptr - sizeof(int)` 减小指针。
5. 指针初始化:可以将指针初始化为空 (`ptr = NULL`) 或指向特定值 (`ptr = &var;`)。
6. 动态内存分配:使用 `malloc()` 和 `free()` 分配和释放动态内存,如 `int *new_ptr = (int*)malloc(sizeof(int));`。
7. 数组和指针:数组名本质上就是指向数组首元素的指针,可以直接通过指针访问数组元素。
8. 指针作为函数参数:传递指针给函数,可以修改原变量,如 `void swap(int *a, int *b) { int temp = *a; *a = *b; *b = temp; }`
9. 指针和结构体、联合体:可以定义指向结构体或联合体类型的指针,用于处理复杂的数据结构。
阅读全文