C语言中指针(简略复习)
**C语言中指针的简略复习**
在C语言中,指针是非常重要的一种数据类型,它可以存储一个变量的内存地址。通过使用指针,我们可以间接地操作变量的值。
###什么是指针?
指针是一种特殊的变量,它存储的是另一个变量的内存地址,而不是该变量的值。例如,如果我们有一个整型变量`int x =10;`,那么`x`的值是10,而`&x`(取地址运算符)得到的就是`x`在内存中的地址。
### 指针的基本概念* **指针的定义**: `int *p;`
* **指针的赋值**: `p = &x;`
* **指针的使用**: `*p =20;`
其中,`*p`表示取出`p`所指向的变量的值。
### 指针的运算在C语言中,我们可以对指针进行以下几种运算:
* **加法运算**: `p +1;`
* **减法运算**: `p -1;`
这两种运算会返回一个新的指针,指向原来的指针所指向的变量的下一个或上一个位置。
### 指针的比较在C语言中,我们可以对两个指针进行比较:
* **等于运算**: `p == q;`
* **不等于运算**: `p != q;`
这两种运算会返回一个布尔值,表示两个指针是否相等。
### 指针的类型在C语言中,我们可以定义不同类型的指针:
* **整型指针**: `int *p;`
* **字符指针**: `char *p;`
* **浮点型指针**: `float *p;`
每种类型的指针都有自己的特点和使用方法。
### 指针的应用在C语言中,指针有很多应用:
* **动态内存分配**: 使用`malloc()`函数可以分配一块新的内存区域,并返回一个指向该区域的指针。
* **数组操作**: 使用指针可以方便地操作数组中的元素。
* **链表操作**: 使用指针可以方便地操作链表中的节点。
### 总结在C语言中,指针是一种非常重要的一种数据类型,它可以存储一个变量的内存地址。通过使用指针,我们可以间接地操作变量的值。指针有很多基本概念、运算和应用,了解这些知识对于编写高效和安全的C程序是非常重要的。
### 示例代码
c#include <stdio.h> int main() { int x =10; int *p; // 取地址运算符 p = &x; // 使用指针取出变量的值 printf("%d ", *p); // 修改指针所指向的变量的值 *p =20; printf("%d ", x); return0; }
c#include <stdio.h> int main() { int arr[5] = {1,2,3,4,5}; int *p; // 取数组的首地址 p = arr; // 使用指针取出数组中的元素 printf("%d ", *p); printf("%d ", *(p +1)); printf("%d ", *(p +2)); return0; }
c#include <stdio.h> #include <stdlib.h> int main() { int *p; // 动态内存分配 p = (int *)malloc(sizeof(int)); if (p == NULL) { printf("Memory allocation failed. "); return1; } // 使用指针取出变量的值 *p =10; printf("%d ", *p); //释放内存 free(p); return0; }
这些示例代码展示了如何使用指针进行基本运算、数组操作和动态内存分配。