c语言中:字符''和字符 '\0'和NULL是等价的么

看到一个老师讲的:''也是一个字符。当时也没想通。后来学到'\0',突然产生一个疑问:''和'\0'是等价的么,前者单引号里面是空的。还有NULL也等价么。谢谢各位高手!
最新回答
玩贴吧的好菇凉

2024-10-15 08:08:30

单引号里两个里面空的,在C语言中不是合法表示,要表示空字符就是用'\0'。
两个双引号中才可以是空的,表示空字符串。

NULL如果表示字符时,就是上面的空字符,也就是对应ASCII码0。
NULL还可以表示空指针,也就是没有进行地址初始化的指针。但实际在计算机表示中指向地址0的指针就表示没有初始化,所以NULL也是指向地址0的指针。
脑残的青春

2024-10-15 09:51:50

char c[1];
c[0] = '\0';与 char d[1] = "";应该是一个意思
但是跟NULL是俩概念,NULL等于是没有指向内存的指针