-2
私はこのように、**無効内部void *型のメモリアドレスを印刷しようとしています:私は警告やエラーを取得するコンパイルしようとするとvoid **のメモリアドレスはどのように表示されますか?
#include <stdio.h>
#include <stdlib.h>
int main(){
void** MyArray = malloc(500 * sizeof(void*));
printf("Last pointer: %p\n", *MyArray[499]);
free(MyArray);
return 0;
}
しかし:
- Line: 6 Col: 31 in D:\C\test.c [Warning] dereferencing 'void *' pointer
- Line: 6 Col: 2 in D:\C\test.c [Error] invalid use of void expression
私は何を間違ってる?ありがとう
'* MyArray [499]'は 'MyArray [499]'にする必要があります。 –
MyArrayは初期化されていますが、メンバーは初期化されていません。つまり、初期化されていない変数、つまりゴミを印刷します。構文エラーを除いて。 –