[請益] C語言指標以及陣列index問題
大家好,
小弟有一個想不通的疑問
我用Dev-C++編譯下列程式碼
一直想不透問何p[1]=lmn
char *str[]={"abcd","efg12","ijklmn","opqrstv"};
char **p=str;
str[0]=*p++;
str[1]=*(p+1);
str[2]=p[1]+3;
str[3]=p[0];
printf("%s\n",p[0]); => ijklmn p[0]和p應該是相同的位置
printf("%s\n",p[1]); => lmn , p[1]有意義??
printf("%s\n",p[2]); => ijklmn, p[2]有意義??
若把str[2]=p[1]+3;改成str[2]=p[1]+2; 結果會變成=>
ijklmn
klmn , 應該是影響str[2],為何會影響到p[1]
ijklmn
事實上p[1]和p[2]應該都沒意義吧?(還是另有別意...小弟不才)
請問這要如何解釋呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.24.53.68
→
09/22 21:25, , 1F
09/22 21:25, 1F
→
09/22 21:30, , 2F
09/22 21:30, 2F
→
09/22 21:31, , 3F
09/22 21:31, 3F
→
09/22 21:34, , 4F
09/22 21:34, 4F
→
09/22 21:35, , 5F
09/22 21:35, 5F
→
09/22 21:37, , 6F
09/22 21:37, 6F
→
09/22 21:39, , 7F
09/22 21:39, 7F
→
09/22 21:40, , 8F
09/22 21:40, 8F
→
09/22 21:43, , 9F
09/22 21:43, 9F
→
09/22 21:44, , 10F
09/22 21:44, 10F
→
09/22 21:45, , 11F
09/22 21:45, 11F
→
09/22 21:49, , 12F
09/22 21:49, 12F
→
09/22 21:52, , 13F
09/22 21:52, 13F
→
09/22 21:52, , 14F
09/22 21:52, 14F
→
09/22 21:55, , 15F
09/22 21:55, 15F
→
09/22 21:56, , 16F
09/22 21:56, 16F
→
09/22 21:57, , 17F
09/22 21:57, 17F
→
09/22 21:58, , 18F
09/22 21:58, 18F
→
09/22 21:58, , 19F
09/22 21:58, 19F
→
09/22 22:00, , 20F
09/22 22:00, 20F
→
09/22 22:02, , 21F
09/22 22:02, 21F
→
09/22 22:04, , 22F
09/22 22:04, 22F
→
09/22 22:06, , 23F
09/22 22:06, 23F
→
09/22 22:08, , 24F
09/22 22:08, 24F
→
09/22 22:09, , 25F
09/22 22:09, 25F
→
09/22 22:10, , 26F
09/22 22:10, 26F
→
09/22 22:15, , 27F
09/22 22:15, 27F
→
09/22 22:16, , 28F
09/22 22:16, 28F
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 1 之 3 篇):