在 C 语言中,指针的修改通常涉及对指针本身的操作

2025-05-18ASPCMS社区 - fjmyhfvclm

在 C 语言中,指针的修改通常涉及对指针本身的操作(改变指针指向的地址)或对指针所指向的数据的操作(改变指针指向的值)。以下是一些常见的指针修改操作及其示例:

1. 修改指针指向的地址

通过赋值新的地址来改变指针的指向。

c

int *ptr = &a; // ptr 指向 a

printf("Before: *ptr = %d\n", *ptr); // 输出 10

ptr = &b; // 修改 ptr,使其指向 b

printf("After: *ptr = %d\n", *ptr); // 输出 20

2. 修改指针指向的值

通过解引用指针来修改其指向的数据。

c

int num = 5;

int *ptr = #

printf("Before: num = %d\n", num); // 输出 5

*ptr = 10; // 修改 ptr 指向的值

printf("After: num = %d\n", num); // 输出 10

3. 指针算术

指针算术允许通过加减整数来改变指针的地址。

c

int arr[3] = {1, 2, 3};

int *ptr = arr; // 指向数组的第一个元素

printf("Before: *ptr = %d\n", *ptr); // 输出 1

ptr++; // 修改 ptr,使其指向下一个元素

printf("After: *ptr = %d\n", *ptr); // 输出 2

4. 指针与数组

通过指针访问和修改数组元素。

c

int arr[3] = {1, 2, 3};

int *ptr = arr;

// 修改数组元素

*(ptr + 1) = 20; // 将第二个元素改为 20

printf("arr[1] = %d\n", arr[1]); // 输出 20

5. 动态内存分配

使用 malloc 和 free 动态分配和释放内存,并修改指针指向动态分配的内存。

c

#include <stdio.h>

#include <stdlib.h>

int main() {

int *

全部评论