亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

C語言指針數組怎樣應用

小樊
82
2024-10-30 17:31:31
欄目: 編程語言

在C語言中,指針數組是一個存儲指針的數組,每個元素都是一個指針。指針數組的應用廣泛,例如動態內存分配、字符串處理、二維數組等。下面是一些常見的應用場景和示例代碼:

  1. 動態內存分配:
#include <stdio.h>
#include <stdlib.h>

int main() {
    int n, i;
    printf("Enter the number of elements: ");
    scanf("%d", &n);

    // 動態分配內存并存儲指針
    int **ptr_array = (int **)malloc(n * sizeof(int *));
    for (i = 0; i < n; i++) {
        ptr_array[i] = (int *)malloc(sizeof(int));
        printf("Enter element %d: ", i + 1);
        scanf("%d", ptr_array[i]);
    }

    // 打印指針數組中的元素
    printf("Elements of the pointer array:\n");
    for (i = 0; i < n; i++) {
        printf("%d ", *ptr_array[i]);
    }

    // 釋放內存
    for (i = 0; i < n; i++) {
        free(ptr_array[i]);
    }
    free(ptr_array);

    return 0;
}
  1. 字符串處理:
#include <stdio.h>
#include <string.h>

int main() {
    char *str_array[5] = {"Hello", "World", "C", "Pointer", "Array"};

    // 打印指針數組中的字符串
    printf("Strings in the pointer array:\n");
    for (int i = 0; i < 5; i++) {
        printf("%s ", str_array[i]);
    }

    // 釋放字符串數組中的內存
    for (int i = 0; i < 5; i++) {
        free(str_array[i]);
    }

    return 0;
}
  1. 二維數組:
#include <stdio.h>

int main() {
    int rows = 3, cols = 4;
    int **array_2d = (int **)malloc(rows * sizeof(int *));

    // 分配內存并填充二維數組
    for (int i = 0; i < rows; i++) {
        array_2d[i] = (int *)malloc(cols * sizeof(int));
        for (int j = 0; j < cols; j++) {
            array_2d[i][j] = i * cols + j + 1;
        }
    }

    // 打印二維數組
    printf("2D Array:\n");
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++) {
            printf("%d ", array_2d[i][j]);
        }
        printf("\n");
    }

    // 釋放內存
    for (int i = 0; i < rows; i++) {
        free(array_2d[i]);
    }
    free(array_2d);

    return 0;
}

這些示例展示了指針數組在不同場景下的應用。使用指針數組時,請注意正確分配和釋放內存,以避免內存泄漏。

0
菏泽市| 忻城县| 汝州市| 洪雅县| 垣曲县| 尤溪县| 岢岚县| 微博| 疏勒县| 江达县| 玉林市| 泉州市| 达拉特旗| 丹东市| 张家界市| 西藏| 丽水市| 海丰县| 天镇县| 遂溪县| 农安县| 桐柏县| 托克逊县| 连云港市| 衡阳市| 东莞市| 南召县| 梧州市| 乃东县| 南丹县| 眉山市| 莱西市| 卓资县| 容城县| 太原市| 尼木县| 蓝山县| 辽源市| 湟中县| 金坛市| 石屏县|