指针与多维数组
下面两种定义方式中, 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;
}
指针数组最频繁的用处是存放具有不同长度的字符串。