(假设用4字节表示)
+0:
00000000
00000000
00000000
00000000
-0:
10000000
00000000
00000000
00000000
因为原码的最高为符号位:0表示正,1表示负
而C语言的编译其里面0都是用补码表示的
补码的0只有一种表示:
00000000
00000000
00000000
00000000
你可以这样测试下
void
main()
{
int
a=-0
int
b=+0
}
看看a和b的内存表示,全部是0
关于原码,反码,补码如果不懂可以自己找找资料。
“”在c语言中代表“字符串结束符”。“”的ASCII码为“0”,也就是空字符;字符串总是以“”作为串的结束符;因此当把一个字符串存入一个数组时,也把结束符“”存入数组,并以此作为该字符串是否结束的标志。
c语言中'\0'是字符串的结束符,任何字符串之后都会自动加上'\0'。如果字符串末尾少了‘\0’转义字符,则其在输出时可能会出现乱码问题。这个'\0'是占一个位置的,所以如果一个长度为20的字符串要放在一个字符串数组里面的话,这个字符串数组长度至少为21。
'\0'的意思是 ASCII 为 0 的字符。它所的意义是“字符串结束符”。
比如,一个字符串 "Hello" ,它是由字符 'H','e','l','l','o','\0' 6 个字符在内存中连续存放的。程序在见到第一个 '\0' 时就会认为该字符串结束了。