搞不太懂 char *p; 跟 char p[100];間的差異
ex1
char *p = "xxxxx";
p++; OK // 這邊p會甚麼可以更改呢 他不是等於陣列名稱了嗎
------------------
char p[100] = "xxxxx";
p++; compile error // 這邊是因為陣列名稱不能更改
ex2
char *p = "xxxxx";
gets(p); compile ok 但是run time error
----------------------
char p[100] = "xxxxx";
gets(p); OK
ex2整個觀念都不太懂 為啥會對會錯
煩請高手解答
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 39.15.164.85
→
04/26 00:31, , 1F
04/26 00:31, 1F
→
04/26 00:33, , 2F
04/26 00:33, 2F
→
04/26 00:34, , 3F
04/26 00:34, 3F
→
04/26 00:35, , 4F
04/26 00:35, 4F
→
04/26 00:35, , 5F
04/26 00:35, 5F
→
04/26 00:36, , 6F
04/26 00:36, 6F
→
04/26 00:37, , 7F
04/26 00:37, 7F
→
04/26 00:38, , 8F
04/26 00:38, 8F
→
04/26 00:39, , 9F
04/26 00:39, 9F
→
04/26 00:51, , 10F
04/26 00:51, 10F
→
04/26 00:52, , 11F
04/26 00:52, 11F
→
04/26 00:53, , 12F
04/26 00:53, 12F
→
04/26 00:54, , 13F
04/26 00:54, 13F
→
04/26 00:56, , 14F
04/26 00:56, 14F
→
04/26 00:58, , 15F
04/26 00:58, 15F
→
04/26 00:59, , 16F
04/26 00:59, 16F
→
04/26 01:00, , 17F
04/26 01:00, 17F
→
04/26 01:00, , 18F
04/26 01:00, 18F
→
04/26 01:13, , 19F
04/26 01:13, 19F