如果我比较 CI 中的两个指针,我就会知道 C 6.5.8/5 中表示:
指向后面声明的结构成员的指针大于指向结构中前面声明的成员的指针
这很好,但是如果其中一个指针是 呢NULL?我知道我可以这样做foo != NULL,但例如这是否违反标准:
char *bar = NULL;
char *foo = "foo";
if(foo > bar) { function(); }
Run Code Online (Sandbox Code Playgroud)
本节没有具体说明NULL大于的情况,这就是我感到困惑的原因。另外您能否告诉我它是否适用于 C89 和 C99。
澄清一下,这与结构无关,结构只是我引用的标准的一部分。该代码与我上面描述的非常相似。我有一些指向数组的指针,其中一个指针可能为空,因此我想知道是否可以使用大于进行比较。