Re: [問題] 關於字串 assign 到指標或陣列的問題
※ 引述《monkeyting (超人一號)》之銘言:
: 1. 把 struct 中間的 char *name 改為 char name[32] 就會錯誤
: 訊息為
: incompatible types in assignment of `const char[10]' to `char[32]'
: 2. 改為 char name[32] 後 用 person Mary={18,160,"Super MAN"};
: 就又行了?
: 謝謝回答
1: char name[32] 是在memory中malloc一塊32 * sizeof(char *)的空間,
這時的name是指向那塊memory的const poniter, name = "abc"
是把name變成指向"abc"的poniter, 你再去reassign name當然會出問題
2: 那是因為person Mary={18, 160, "Super MAN"}是直接將struct Mary
初始化成{}裡的value...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.250.140.195
推
09/30 16:35, , 1F
09/30 16:35, 1F
→
09/30 16:59, , 2F
09/30 16:59, 2F
推
09/30 17:12, , 3F
09/30 17:12, 3F
→
09/30 17:13, , 4F
09/30 17:13, 4F
推
09/30 17:18, , 5F
09/30 17:18, 5F
推
09/30 17:27, , 6F
09/30 17:27, 6F
→
09/30 17:27, , 7F
09/30 17:27, 7F
→
09/30 17:28, , 8F
09/30 17:28, 8F
→
09/30 18:05, , 9F
09/30 18:05, 9F
→
09/30 18:06, , 10F
09/30 18:06, 10F
→
09/30 18:06, , 11F
09/30 18:06, 11F
→
09/30 18:07, , 12F
09/30 18:07, 12F
推
10/04 00:32, , 13F
10/04 00:32, 13F
→
10/04 00:33, , 14F
10/04 00:33, 14F
→
10/04 00:34, , 15F
10/04 00:34, 15F
→
10/04 00:34, , 16F
10/04 00:34, 16F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):