指针与多维数组

下面两种定义方式中, a[10][20] 是一个真正的二维数组,它分配了 200 个整型长度的存储空间,并且通过常规的矩阵下标计算公式得到具体元素的位置。但是对于 b[10] 来说,该定义仅仅分配了 10 个指针,假定 b[10] 的每个元素都指向一个具有 20 个元素的数组,那么编译器就要为它分配 200 个整型长度的存储空间以及 10 个指针的存储空间。

#include <stdio.h>

int main(int argc, char const *argv[])
{
    int a[10][20];
    int *b[10];
    return 0;
}

指针数组最频繁的用处是存放具有不同长度的字符串。

results matching ""

    No results matching ""