温馨提示×

C语言指针数组如何操作

小樊
83
2024-10-30 17:02:26
栏目: 编程语言

在C语言中,指针数组是一个存储指针的数组,每个元素都是一个指针,指向一个特定的数据类型

  1. 声明指针数组: 要声明一个指针数组,首先需要指定数组的大小,然后使用类型名称和方括号来声明数组。例如,要声明一个整数指针数组,可以这样做:
int *ptr_array[5];

这将创建一个可以存储5个整数指针的数组。

  1. 初始化指针数组: 初始化指针数组时,可以为数组的每个元素分配内存并赋值。例如:
int num1 = 10, num2 = 20, num3 = 30;
int *ptr_array[3] = {&num1, &num2, &num3};

现在,ptr_array的每个元素都指向一个整数变量。

  1. 访问指针数组中的元素: 要访问指针数组中的元素,可以使用数组索引和间接寻址运算符*。例如:
printf("Value of ptr_array[0]: %d\n", *ptr_array[0]); // 输出:Value of ptr_array[0]: 10
  1. 指针数组作为函数参数: 指针数组可以作为函数参数传递,以便在函数内部修改原始数组。例如:
#include <stdio.h>

void increment_elements(int *ptr_array[], int size) {
    for (int i = 0; i < size; i++) {
        (*ptr_array[i])++;
    }
}

int main() {
    int num1 = 10, num2 = 20, num3 = 30;
    int *ptr_array[3] = {&num1, &num2, &num3};

    printf("Before increment: ");
    for (int i = 0; i < 3; i++) {
        printf("%d ", *ptr_array[i]); // 输出:Before increment: 10 20 30
    }
    printf("\n");

    increment_elements(ptr_array, 3);

    printf("After increment: ");
    for (int i = 0; i < 3; i++) {
        printf("%d ", *ptr_array[i]); // 输出:After increment: 11 21 31
    }
    printf("\n");

    return 0;
}

在这个例子中,increment_elements函数接受一个整数指针数组和数组的大小作为参数,然后遍历数组并递增每个元素。

0