[C語言] 我這樣宣告char傳入值有差嗎

作者: Wardyal (Wardyal)   2024-07-17 16:06:52
void func(char* str) {
printf("%s\n", str);
}
void func(char str[]) {
printf("%s\n", str);
}
這兩個應該都沒差吧
還是有甚麼小小的差異
char string最後都有 '\0' 應該都可以印出來?
作者: wahaha99 (此方不可長)   2024-07-17 16:08:00
你認真嗎
作者: oin1104 (是oin的說)   2024-07-17 16:10:00
感覺差不多吧 都指標
作者: bach8517 (palela)   2024-07-17 16:10:00
444444444
作者: Wardyal (Wardyal)   2024-07-17 16:10:00
認真阿 我剛剛試跑都一樣 只是不知道差別
作者: cities516 (安安路過)   2024-07-17 16:11:00
你這問ChatGPT就好了
作者: yam276 ('_')   2024-07-17 16:11:00
你認真嗎
作者: Wardyal (Wardyal)   2024-07-17 16:13:00
陣列不也是一組數據 讓一個指標指到頭嗎
作者: wahaha99 (此方不可長)   2024-07-17 16:14:00
ChatGPT 4o 說一樣
作者: Wardyal (Wardyal)   2024-07-17 16:14:00
喔喔 我是問Copilot
作者: oin1104 (是oin的說)   2024-07-17 16:15:00
呼叫的時候會有差嗎比如 *str那個 不能用{a,a,a,a}直接用 但是str[]也許可以 嗎 @露西亞 @二跑 @咕咕嚕
作者: wahaha99 (此方不可長)   2024-07-17 16:16:00
老實說 指標這用法最好別搞了 很早以前就說過這會容易造成安全問題
作者: Wardyal (Wardyal)   2024-07-17 16:16:00
那用哪個比較好 宣告char string的話
作者: oin1104 (是oin的說)   2024-07-17 16:16:00
問就是改用string
作者: oin1104 (是oin的說)   2024-07-17 16:17:00
韌體大師
作者: wahaha99 (此方不可長)   2024-07-17 16:17:00
韌體沒辦法...如果是os跟驅動, 現在趨勢是Rush了我記得我當年用Keil C好像都是string
作者: h0103661 (路人喵)   2024-07-17 16:18:00
兩個沒有哪個比較好,指標是指標,值是值,看你要幹嘛如果不知道差別就都先用值,不然會改到原來的指標
作者: wahaha99 (此方不可長)   2024-07-17 16:19:00
ChatGPT說這兩個都是指標 第二種在C會轉成指標傳
作者: h0103661 (路人喵)   2024-07-17 16:20:00
真假,c這麼坑喔,強制轉指標
作者: wahaha99 (此方不可長)   2024-07-17 16:21:00
應該說當年C很愛用指標 ...C說是高階語言 但沒有現代高階語言的特性 記憶體管理只有做半套
作者: yam276 ('_')   2024-07-17 16:22:00
char array就是指標指向頭C處理字串就是仿賽C沒有字串的概念 只有字元指標字元陣列然後還有unsigned char*當普通指標用的
作者: wahaha99 (此方不可長)   2024-07-17 16:26:00
所以遇到unicode時非常操蛋 還好韌體比較少這種
作者: ZooseWu (N5)   2024-07-17 16:34:00
哪個語言的陣列會傳值啊
作者: Wardyal (Wardyal)   2024-07-17 16:37:00
C++記得可以C不行 記得
作者: h0103661 (路人喵)   2024-07-17 16:42:00
c++阿加&才是指標
作者: szymwf (szymwf)   2024-07-17 16:43:00
函式裡面的str應該是一模一樣的東西 要宣告應該第二種比較好吧 比較能直觀看出來要傳入的值是char的陣列
作者: Wardyal (Wardyal)   2024-07-17 16:43:00
喔喔 也是 可讀性好一點
作者: lindet (好想...)   2024-07-17 16:48:00
用第一種比較好
作者: Wardyal (Wardyal)   2024-07-17 16:50:00
= = 好
作者: Pash97143 (四葉天下第一)   2024-07-17 16:50:00
我個人會用1

Links booklink

Contact Us: admin [ a t ] ucptt.com