我正在编写这样的代码:
#include <stdlib.h>
int main(void)
{
void *kilobyte;
kilobyte = malloc(1024);
kilobyte = NULL, free(kilobyte);
return 0;
}
为了对称,这很好。但是我以前从未见过其他人使用这个成语,所以我想知道这是否真的是不可移植/不安全的,尽管维基百科引用了这个:
在 C 和 C++ 编程语言中,逗号运算符(由记号 , 表示)是一个二元运算符,它计算其第一个操作数并丢弃结果,然后计算第二个操作数并返回此值(和类型)。
编辑:混淆了顺序。现在它编译gcc
没有任何警告。