看板 C_and_CPP 關於我們 聯絡資訊
剛剛少複製了一行 #include <stdio.h> #include <stdlib.h> #include <string.h> int main(void) { char x[]="Hello"; char *z=x; //想設定z指向x; int len=strlen(x); char **y; y=&z;//設定指標的指標y指向z的位置**y為x的第一個內容 char temp; temp=**(y+len-1);//此時想要更改x的o到temp? **(y+len-1)=**y;//此時想把H改o **y=temp;//再把o改成H printf("%c",x);//最後印出 system("pause"); } 以上//是我想說應該是這樣,可是結果不對耶,有哪位大大能幫幫忙解說嗎? 或是用指標的指標幫我改改看~~這不是作業,只是我個人想了解指標的指標而已! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 115.43.154.231
james732:http://nopaste.csie.org/d47c3 10/30 21:31
stupid0319:滿天星****** 10/30 21:34
wendly777:y是指標的指標,y+1的話會偏移4個byte,y+len-1是把堆疊 10/30 21:34
vm6jp6rmp4:可否問一下*(*y+len-1)這句話他指標是怎麼指的ㄚ? 10/30 21:35
wendly777:中某個無辜的值當作char**,所以james大改成*(*y+len-1) 10/30 21:36
james732:其實我不懂,單純把Hello的前後兩個字對調,幹嘛這麼複雜 10/30 21:37
wendly777:我想他只是想練習指標而已..指標的概念還沒打通 10/30 21:40
stupid0319:指標之牆太高了 10/30 21:43
tkhunter:指標真一個頭痛的東西啊! 10/31 00:56