C言語での配列ポインタの値の設定方法は何ですか?

C言語では、配列ポインタに値を代入する方法が2つあります:

  1. 配列名を使用して値を代入する:
int arr[5] = {1, 2, 3, 4, 5};
int *ptr = arr;

上記の例では、arrは整数型の配列、ptrは整数型のポインターです。 arrの配列名をptrに代入することで、ptrは配列の最初の要素を指すようになります。

  1. この本は非常に興味深いです。
int arr[5] = {1, 2, 3, 4, 5};
int *ptr = &arr[0];

この例では、&arr[0]は配列の最初の要素のアドレスを取得し、そしてそのアドレスをポインタptrに割り当てました。

どちらの方法でも、代入されたポインタptrはポインタ演算子*を使って配列要素に間接的にアクセスできます。例:

int firstElement = *ptr;  // 访问数组的第一个元素
int thirdElement = *(ptr + 2);  // 访问数组的第三个元素

上記のコードでは、*ptrはptrが指すメモリ位置の値を示し、*(ptr + 2)はptrが指すメモリ位置の後ろ2つの位置にある値を示し、つまり配列の3番目の要素を示します。

bannerAds