C言語でのポインタ配列と配列ポインタの違いとは

C言語ではポインタ配列と配列ポインタは異なる概念だ

  1. データ型 * 配列名[長さ];

例え:

int *ptrArray[5];  // 声明了一个指针数组,每个元素都是整型指针
char *strArray[3];  // 声明了一个指针数组,每个元素都是字符型指针
  1. データ型 *(ポインタ名)[長さ];

たとえば

int arr[5] = {1, 2, 3, 4, 5};  // 声明了一个整型数组
int (*ptr)[5];  // 声明了一个指向整型数组的指针
ptr = &arr;  // 数组指针指向了arr数组的首地址

总结:

  1. ポインタ配列とは、各要素がポインタ型の配列のことである。
  2. 配列ポインタは配列の最初のアドレスを指すポインタである。
  3. ポインタ配列は配列を指すポインタを保持できますが、配列ポインタは特定の種類の配列のみを指すことができます。
  4. ポインタ配列の要素には個別代入ができるが、配列ポインタは配列の存在が前提である。
bannerAds