Electronics 板


LINE

※ 引述《invalid (everlasting)》之銘言: : ※ 引述《adddream (哆啦A孟)》之銘言: : : 了解 : : 真是太感謝您囉 : : 不過想再追問一下 : : (1)為捨'\0'是表示false阿 : 更精確一點,在C/C++及一些其他語言中 : 'x'代表的型態是int (不是char*) : 所以應該要說"\0"比較適當一點 : "\0"的意思就是使該字元的ascii code值為\後面的數字 : C/C++中也有一些方便記憶的序列,例如\n,\r,\b... : 最早的C是沒有boolean的型別的 : 所以用int來代表真假 : 0為假,非0為真 我剛才查了一下C的規格書--ISO 9899:1999。 如果我沒會錯意的話: 『""』包起來的東西是一個array of character type, 它會傳給lvalue一個address(也就是它的rvalue), 所以一般來說"\0"不等於0。 可以用這個程式碼來測試把"\0"傳回的東西當作指標運算,應該會印出0: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #include <stdio.h> int main() { int a = (int) "\0"; char c = *((char *) a); printf("%d", c); return 0; } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 換言之使用『""』建立字串時,程式會先在記憶體中配製一塊空間給該字串(字元陣列)。 並把第一個字元的位址傳給lvalue。 (以上部份是我參考規格書的想法,如有會錯意請見諒,我不是C語言高手。) 而'\0'應該為0,雖然我在C規格書查不到。不過可以測試這個程式碼: if('\0' == 0) printf("Yes.\n"); 另外我還查到規格書說『false』會被macro expands to 0, 『false』被定義在stdbool.h裡面。 : : (2)還有就是通常在陣列裡頭結尾(不管是指哪種陣列)不都是會加上'\0'嗎? : : 還是說是我記錯了@@' : 這只有C-like string才是這樣 : 這只是為了方便以最小的記憶體操作字串的技巧 : 你高興自創一個不用\0的string也可以 : 只是就不能用string.h裡面的函式啦 : 另外"\0"可以想成是signature,通常用來代表特定區塊的邊界 : 譬如說FAT32分割區中會以0xAA55代表分割區的開始 : 要注意的就是通常只有"文字"資料才會"只"利用signature來切割 : (FAT32其實還有其他欄位去進行辨認) : 如果你的資料是binary形式的 : 通常就會使用類似HTTP協定加註資料長度的方式來辨別區塊的邊界 : 要不然就要使用strip的方式,將衝突的signature先替換掉 -- 《金剛經》 離一切諸相,則名諸佛。 http://web.cc.ncu.edu.tw/~93501025/jg.doc --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.201.94 ※ 編輯: zxvc 來自: 140.115.201.94 (02/25 20:04) ※ 編輯: zxvc 來自: 140.115.201.94 (02/25 20:05)
1F:推 adddream:感謝 ^^ 02/25 21:28







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother 或 站內搜尋

TOP