【发布时间】:2016-03-23 17:45:15
【问题描述】:
我正在尝试在 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 [警告] 取消引用 'void *' 指针
- Line: 6 Col: 2 in D:\C\test.c [错误] 无效表达式的使用无效
我做错了什么?谢谢
【问题讨论】:
-
*MyArray[499]应该是MyArray[499]。 -
MyArray 已初始化,但其成员未初始化。因此,您将打印一个未初始化的变量,即垃圾。除了语法错误。
标签: c