这是一个参考这个问题的问题: What does (char *)0 mean in c?
那里的答案与解释究竟是什么略有不同,但最终的答案提到它是一个指向地址 0 处的字符的指针,并且它是空的。这给我带来了两个疑问。
在 c 中,我们可以给 char* 9 并说它是指向地址 9 的指针吗?我们不会收到任何错误或警告吗?
好吧,假设 (char*) 0 确实是指向地址 0 的字符的指针,但是这个地址 0 是什么意思呢?我的意思是我们怎么能说它是空的?在那种情况下, (char*) 1 或 (char*) 2 等的值是多少?
编辑:只是把它放在这里不管它有没有帮助。当我发现execl
linux 系统调用中的最后一个参数为 null 并且我看到一个看起来很奇怪的语法时,我开始搜索这个问题:(char *) 0。
谢谢。