C言語での配列ポインタの値の設定方法は何ですか?
C言語では、配列ポインタに値を代入する方法が2つあります:
- 配列名を使用して値を代入する:
int arr[5] = {1, 2, 3, 4, 5};
int *ptr = arr;
上記の例では、arrは整数型の配列、ptrは整数型のポインターです。 arrの配列名をptrに代入することで、ptrは配列の最初の要素を指すようになります。
- この本は非常に興味深いです。
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番目の要素を示します。