1、低位的地址是給操作系統(tǒng)用的
2、char *p1 = 1; //p1指向地址為1的內(nèi)存 (給操作系統(tǒng)用) char *p2 = '1'; //p2指向地址為49的內(nèi)存 (給操作系統(tǒng)用) char *p3 = "1"; //p2指向字符串首地址,字符1的地址p1和p2指向了不該指的地方,形成野指針
3、C語言中的單引號用來表示字符常量4、C語言中的雙引號用來表示字符串常量
5、‘a(chǎn)’表示字符常量 在內(nèi)存中占1個字節(jié) ’a’+1表示’a’的ASCII碼加1,結(jié)果為‘b’ “a”表示字符串常量 在內(nèi)存中占2個字節(jié) “a”+1表示指針運算,結(jié)果指向“a”結(jié)束符’/0’6、將一個字符串賦值給一個字符會發(fā)生什么? char c = " ";" "為空格的地址,地址的類型是int型的,首先類型就不匹配
7、小結(jié): (1).本質(zhì)上單引號括起來的一個字符代表整數(shù) (2).雙引號括起來的字符代表一個指針 (3).C編譯器接受字符和字符串的比較,可意義是錯誤的(4).C編譯器允許字符串對字符變量賦值,其意義是可笑的
8、清晰基本概念,遠(yuǎn)離低級錯誤新聞熱點
疑難解答