[問題] 關於指標
請容許各位大大再讓我問個問題,我指標真的有點弱
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void swap(char *y,int len)
{
printf("y=%p\n",&y);
char temp;
temp=*(y+len-1);
*(y+len-1)=*(y);
*y=temp;
}
int main(void)
{
char x[]="Hello";
char *z=x;
printf("x=%p\n",x);
printf("z=%p\n",z);
int len=strlen(x);
swap(z,len);
printf("%s",x);
system("pause");
}
關於這個程式我,我假設X開頭位置是2000,假設z的位置是2010並指向2000這個起始位置
,y指向z的位置2010,但為什麼y可以更改x的內容呢?並沒有把y設成指標的指標**y
另外若把z拿掉,改成swap(x,len),一樣得到同樣結果?若有人能幫我離清這指標的指標
真是感激不盡!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.70.198.112
→
10/23 16:45, , 1F
10/23 16:45, 1F
推
10/23 16:49, , 2F
10/23 16:49, 2F
推
10/23 16:51, , 3F
10/23 16:51, 3F
推
10/23 16:56, , 4F
10/23 16:56, 4F
→
10/23 16:56, , 5F
10/23 16:56, 5F
→
10/23 17:03, , 6F
10/23 17:03, 6F
推
10/23 17:04, , 7F
10/23 17:04, 7F
→
10/23 17:04, , 8F
10/23 17:04, 8F
推
10/23 17:18, , 9F
10/23 17:18, 9F
→
10/23 17:19, , 10F
10/23 17:19, 10F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章