[問題] 指標和雙重指標考題

看板C_and_CPP (C/C++)作者 (5566 超強)時間12年前 (2012/09/12 11:24), 編輯推噓1(109)
留言10則, 5人參與, 最新討論串1/3 (看更多)
Hello: 我最近寫題目 寫到一題 不知道答案是什麼 自己用 VC跑 竟然跑不出來 想請教一下各位 char d[3] = {100,200,300}; int *p = &d; int **pn = &p; *p -= 1; p = &d[1]; **p+=1; p--; 求 *p , **p, d[0] d[1] -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.210.106.78 ※ 編輯: SNSDpk5566 來自: 218.210.106.78 (09/12 11:24)

09/12 11:29, , 1F
要不試著要int *p = &d;改成int *p=d;試試..
09/12 11:29, 1F

09/12 11:31, , 2F
錯了, 應該把char d[3]=...;改成int d[3]=...
09/12 11:31, 2F

09/12 11:34, , 3F
恩恩 但是這行 **p+=1; 給我illegal indirection
09/12 11:34, 3F

09/12 11:34, , 4F
好像不能這樣做運算
09/12 11:34, 4F

09/12 11:38, , 5F
*p-=1 的時候d就指到莫名其妙的地方去了 **p也就是*d當
09/12 11:38, 5F

09/12 11:38, , 6F
然會爆炸
09/12 11:38, 6F

09/12 11:38, , 7F
**pn
09/12 11:38, 7F

09/12 11:39, , 8F
**p 是不是300 show *p-- = 200 ??
09/12 11:39, 8F

09/12 11:44, , 9F
恩恩感謝樓上
09/12 11:44, 9F

09/12 13:42, , 10F
--比* 優先運算 p = p - sizeof(int)
09/12 13:42, 10F
文章代碼(AID): #1GK01iqH (C_and_CPP)
文章代碼(AID): #1GK01iqH (C_and_CPP)