[問題] 請教以雙重指標陣列存取特定字元用法
開發平台(Platform): (Ex: Win10, Linux, ...)
Mac
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
Xcode
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
無
問題(Question):
分別用兩個指標指向兩個字串後,再用一個雙重指標陣列儲存兩個指標
請問如何以該雙重指標陣列,存取字串中的特定字元?
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
int main(int argc, const char * argv[]) {
char str1[] = "123";
char str2[] = "456";
char *ptr1 = str1;
char *ptr2 = str2;
char **pptr[2];
pptr[0] = ptr1;
pptr[1] = ptr2;
printf("%s\n", ptr2); // 456
printf("%s\n", pptr[1]); // 456
printf("%c\n", ptr2[1]); // 5
printf("%c\n", (pptr[1])[1]); // 空白 ,預期應該跟上行程式結果相同
}
補充說明(Supplement):
指標陣列跟雙重指標的意思都懂,但兩個合在一起使用就不太行了
想請問以上述的雙重指標陣列pptr該如何表示才能正確輸出字元'5'
麻煩各位大大了
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.83.146.68
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1529242606.A.B99.html
→
06/17 21:56,
7年前
, 1F
06/17 21:56, 1F
這個做法試了可以 不過主要還是想弄懂如果用的寫法雙重指標要怎做
→
06/17 21:57,
7年前
, 2F
06/17 21:57, 2F
好 我查查看
※ 編輯: jojojen (111.83.146.68), 06/17/2018 22:01:03
→
06/17 22:02,
7年前
, 3F
06/17 22:02, 3F
→
06/17 22:04,
7年前
, 4F
06/17 22:04, 4F
喔喔 試了沒錯 謝謝大大
本來雙重指標陣列是想用來存拆分後的字串像下面這樣
char buf[MAXSIZE];
char *pbuf = buf;
char **ops[MAXSIZE];
char *del = " ";
split(ops, pbuf, del);
不過剛剛經提醒發現 好像其實不需要.... 我的寫法太冗了 我再修改 謝謝大大
※ 編輯: jojojen (111.83.146.68), 06/17/2018 22:12:03
※ 編輯: jojojen (111.83.146.68), 06/17/2018 22:14:07
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章