C言語の二重ポインタの使い方は?
C言語では、二重ポインタはポインタを指すポインタを指します。通常、ポインタ配列を指すためや、ポインタの配列を指すために使用されます。二重ポインタを使用すると、複数の階層のポインタを簡単に操作できます。たとえば、関数内でポインタのアドレスを渡す際に使用されます。
以下は、二重ポインタを使用する方法を示す簡単な例です。
#include <stdio.h>
void modifyValue(int **ptr) {
**ptr = 20;
}
int main() {
int value = 10;
int *ptr = &value;
int **ptr_ptr = &ptr;
printf("Value before modification: %d\n", *ptr);
modifyValue(ptr_ptr); // 通过二级指针传递指针的地址
printf("Value after modification: %d\n", *ptr);
return 0;
}
上記の例では、まず整数型の変数であるvalueと、そのvalueを指すポインタであるptrを定義しています。その後、ptrを指すptr_ptrという2次元ポインタを定義しました。modifyValue関数を呼び出し、ptr_ptrを渡すことで、valueの値を変更することができます。
要点は、C言語では、2次元ポインタを使用して、ポインタのポインタを簡単に操作することができ、ポインタのアドレスを効果的に渡すことができ、柔軟なポインタ操作を実現できることです。