メモリにデータがあり、そのポインタでデータを読みたい。このポインタを関数に渡すことによって、char、intなどへのvoidポインタを変更することは許されていますか? 私は意味:空のポインタを関数の引数として渡して新しいアドレス(char、int)を返す
機能GetDataPointer
で
struct DataContainer {
char* one;
int* two;
};
void GetDataPointer(char var, void* data_p)
{
switch(var) {
case 1:
data_p = (void*)DataContainer.one;
break;
case 2:
data_p = (void*)DataContainer.two;
break;
}
void main(void)
{
char* example;
GetDataPointer(1, (void*)example);
}
私はdata_p
がDatacontainer.oneと同じアドレスを取得していることがわかりますが、example
のmain()
アドレスに変更されないことができます。
'を無効メイン()' ....少なくとも、 'int main(void)'を使用してください。 –
ロールバックしてください。重複する質問ではありません。 –
あなたの質問を編集してください。私が今見ているように、それは重複しているからです。 –