これに対する答えは見つかりませんでした。私はポインタポインタを関数に渡す
char **buffer;
上のポインタを持っていると私は機能
void some_func(char **buffer) {}
にそれを渡したいときに、この関数の呼び出しバッファが、私は、この関数を呼び出す必要がありますどのようにこの関数からのデータが含まれています後にしてください?
これに対する答えは見つかりませんでした。私はポインタポインタを関数に渡す
char **buffer;
上のポインタを持っていると私は機能
void some_func(char **buffer) {}
にそれを渡したいときに、この関数の呼び出しバッファが、私は、この関数を呼び出す必要がありますどのようにこの関数からのデータが含まれています後にしてください?
それは正しいですが、事実は、あなたがポインタにこのポインタを渡しているということです
// initialize it
char** buffer;
void some_func(char ***buffer) {} // by reference
および関数呼び出しの:
値によってそのようポインタを渡しますsome_funct(&buffer);
some_func(&buffer);
これは必要な呼び出しです。
AND関数は、バッファを操作するには...
void some_func(char ***buffer) {}
する必要があります...あなたの例では
*buffer = something;
関数によっては、新しいポインタを返すことがより簡単であるかもしれません。つまり、関数 'char ** func(char **) 'を作成することです。 – nneonneo
'buffer'の内容だけを変更し、ポインタ自体は変更したくない場合は、' some_func(buffer); 'を呼び出すことができます。 –
あなたがしたいことははっきりしていません。最初に関数を呼び出すと、 'buffer'には何も入っていませんか? –