C語(yǔ)言指針數(shù)組如何操作

小樊
83
2024-10-30 17:02:26

在C語(yǔ)言中,指針數(shù)組是一個(gè)存儲(chǔ)指針的數(shù)組,每個(gè)元素都是一個(gè)指針,指向一個(gè)特定的數(shù)據(jù)類(lèi)型

  1. 聲明指針數(shù)組: 要聲明一個(gè)指針數(shù)組,首先需要指定數(shù)組的大小,然后使用類(lèi)型名稱(chēng)和方括號(hào)來(lái)聲明數(shù)組。例如,要聲明一個(gè)整數(shù)指針數(shù)組,可以這樣做:
int *ptr_array[5];

這將創(chuàng)建一個(gè)可以存儲(chǔ)5個(gè)整數(shù)指針的數(shù)組。

  1. 初始化指針數(shù)組: 初始化指針數(shù)組時(shí),可以為數(shù)組的每個(gè)元素分配內(nèi)存并賦值。例如:
int num1 = 10, num2 = 20, num3 = 30;
int *ptr_array[3] = {&num1, &num2, &num3};

現(xiàn)在,ptr_array的每個(gè)元素都指向一個(gè)整數(shù)變量。

  1. 訪問(wèn)指針數(shù)組中的元素: 要訪問(wèn)指針數(shù)組中的元素,可以使用數(shù)組索引和間接尋址運(yùn)算符*。例如:
printf("Value of ptr_array[0]: %d\n", *ptr_array[0]); // 輸出:Value of ptr_array[0]: 10
  1. 指針數(shù)組作為函數(shù)參數(shù): 指針數(shù)組可以作為函數(shù)參數(shù)傳遞,以便在函數(shù)內(nèi)部修改原始數(shù)組。例如:
#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;
}

在這個(gè)例子中,increment_elements函數(shù)接受一個(gè)整數(shù)指針數(shù)組和數(shù)組的大小作為參數(shù),然后遍歷數(shù)組并遞增每個(gè)元素。

0