gcc警告:赋值在没有强制转换的情况下从指针生成整数

Ama*_*tam 2 c gcc warnings pointers

我正在我的程序中完成这项任务,我正在收到标题的警告.这是代码片段:

table_name[index] = NULL;

我无法理解在这样的陈述中会出现什么问题.

Lev*_*von 6

NULL 不是一个有效的整数,它被分配给一个由大概是ints 组成的数组的条目,所以编译器在抱怨.

NULL用作默认指针值,表示"无".如果你有一个指针变量并为其指定NULL,你会说指针变量指向"无".

由于这种类型不匹配,特定的消息警告您,您试图将一种类型(实际上是指针值)分配给另一个(int)而不尝试转换它(这是我们有时将一种类型转换为另一种类型以避免类型不匹配).

如果你有一个指针数组,那么NULL的赋值就完全可以了.