举个基础的指针应用的例子
时间: 2023-05-22 15:05:53 浏览: 56
当我们需要对一个变量进行间接操作时,可以利用指针变量。例如,我们可以定义一个指向整型变量的指针,然后利用它来修改该变量的值。下面是一个基础的指针应用的例子:
```
#include <stdio.h>
int main() {
int num = 10;
int *p = # //定义一个指向整型变量的指针
printf("num的初始值为:%d\n", num);
*p = 20; //修改num的值
printf("num的修改后的值为:%d\n", num);
return 0;
}
```
输出结果为:
```
num的初始值为:10
num的修改后的值为:20
```
在这个例子中,我们定义了一个整型变量num,并将其初始化为10。接着我们定义了一个指向整型变量的指针p,并将它指向num变量。然后我们通过*p来修改num的值,这会直接修改num变量的值。最后我们打印出修改后的num的值。
希望这个例子能帮助你理解指针的基本应用。
相关问题
举一个c语言指针的例子
当然,我可以举一个C语言指针的例子。假设我们有一个整数变量 `num`,我们可以通过指针来访问和修改它的值。
```c
#include <stdio.h>
int main() {
int num = 10; // 定义一个整数变量 num,赋值为 10
int *ptr; // 声明一个指向整数的指针 ptr
ptr = # // 将指针 ptr 指向变量 num 的地址
printf("num 的值为:%d\n", num); // 输出 num 的值
printf("ptr 指向的值为:%d\n", *ptr); // 输出指针 ptr 指向的值
*ptr = 20; // 修改指针 ptr 指向的值为 20
printf("修改后的 num 的值为:%d\n", num); // 输出修改后的 num 的值
return 0;
}
```
在上面的示例中,我们声明了一个整数指针 `ptr`,并将其指向变量 `num` 的地址。通过 `*ptr`,我们可以访问和修改 `num` 的值。输出结果如下:
```
num 的值为:10
ptr 指向的值为:10
修改后的 num 的值为:20
```
这就是一个简单的C语言指针的例子。希望能帮到你!如果还有其他问题,请随时提问。
结构体指针数组举个例子
结构体指针数组是指一个数组中的每个元素都是指向结构体的指针。通过使用结构体指针数组,可以方便地管理和操作多个结构体对象。
举个例子,假设我们有一个学生信息的结构体,包含学生的姓名和年龄:
```c
typedef struct {
char name[20];
int age;
} Student;
```
现在我们需要管理多个学生的信息,可以使用结构体指针数组来实现。首先定义一个结构体指针数组,并为每个学生分配内存空间:
```c
Student* students[3]; // 定义一个包含3个学生的结构体指针数组
students[0] = (Student*)malloc(sizeof(Student)); // 为第一个学生分配内存空间
strcpy(students[0]->name, "Alice"); // 设置第一个学生的姓名
students[0]->age = 18; // 设置第一个学生的年龄
students[1] = (Student*)malloc(sizeof(Student)); // 为第二个学生分配内存空间
strcpy(students[1]->name, "Bob"); // 设置第二个学生的姓名
students[1]->age = 19; // 设置第二个学生的年龄
students[2] = (Student*)malloc(sizeof(Student)); // 为第三个学生分配内存空间
strcpy(students[2]->name, "Charlie"); // 设置第三个学生的姓名
students[2]->age = 20; // 设置第三个学生的年龄
```
通过结构体指针数组,我们可以方便地访问和修改每个学生的信息。例如,可以打印出每个学生的姓名和年龄:
```c
for (int i = 0; i < 3; i++) {
printf("学生姓名:%s,年龄:%d\n", students[i]->name, students[i]->age);
}
```
这样就可以输出每个学生的信息了。