C程序中的非法初始化

我试图在Turbo C中运行此代码并在第9行进行非法初始化我做错了什么?

#include #include void main() { int names[] = {23,23,34}; int *nam[] = { names, names+1 , names +2}; char *temp; clrscr(); printf("%u" , (nam)); getch(); } 

您遇到此问题是因为您的编译器已经过时了。 在17年前被撤销的旧C标准中,除了编译时常量之外,你无法初始化数组。

1999年有一个新的C标准修复了很多这样的缺陷。 为了编译此代码,您需要一个支持该语言的“C99”更新的编译器。