上面的不是字符串
這個才是字符串
‘\0’ 表示的就是整數(shù)數(shù)字 0?
這個字符數(shù)組里面有7個單元锌杀,最后那個數(shù)組里面放的是個0
因?yàn)槎嗔艘粋€ 0 ,這個字符數(shù)組就成了字符串泻仙,可以在C語言里進(jìn)行字符串的相關(guān)運(yùn)算
‘\0’ 是一個字節(jié)的東西 糕再,而數(shù)字 0 是一個int類型的變量,可能是4個字節(jié)
‘0’ 是ASCII碼里的0 玉转,即人可以讀到的數(shù)字0突想,它和上面兩個完全不一樣
這個‘\0’是字符串結(jié)束的標(biāo)志,但它不是這個字符串的一部分
第一種形式是說 有一個指針究抓,它的名字叫str猾担,它指向了一個字符數(shù)組,這個字符數(shù)組里裝的是Hello
第二種形式是說 有一個字符數(shù)組word刺下,它里面裝的是Hello
第三種形式是說 我有一個數(shù)組叫l(wèi)ine 绑嘹,它的大小是10個字節(jié),Hello占據(jù)了line里面六個字符的空間橘茉,
因?yàn)榻Y(jié)尾還有一個 ‘\0’
這個被 “” 擴(kuò)起來的東西叫做字符串的字面量或者叫字符串常量
字符串的長度一定是眼睛所能看見的長度?1
也可
平時口語中會說char *s 表示說 s 是個字符串工腋,等于“Hello,World”
S指針指向的地址是一個很小的地方畅卓,并且這個地址是只讀的擅腰,實(shí)際上這個char前面有一個const
如果兩個指針指向了相同的值,則這兩個指針指向的是同一個地址
如果我們要定義一個字符串是要能修改的翁潘,則應(yīng)該定義一個數(shù)組字符串
跟上面區(qū)別就是上面的是指針趁冈,表示我指向一個字符串
下面的數(shù)組字符串表示我是一個數(shù)組,這個字符串就在我這里
s3是在很大的地方唐础,是本地變量
s1和s2是在很遠(yuǎn)的不可寫的地方
選擇字符串還是指針箱歧?
char*只能表示是這兒有一個指針矾飞,這個指針指向一個字節(jié)或者一串連續(xù)的字節(jié)
但它并不一定是字符串
char*可能指向的是字符的數(shù)組或者指向單個數(shù)組
就和 int*一樣一膨,可能指向單個int,也可能指向一個int的數(shù)組