求助 c 指標問題

2022-12-13 11:50:11 字數 1013 閱讀 2321

1樓:匿名使用者

void swap(int *pvalue1, int *pvalue2)

2個形參都是int型的指標 他們是指標

看起來你沒弄懂指標的意思

簡單的說一個變數在記憶體裡面只有地址和值2個屬於他的"屬性" 地址表示他在記憶體的什麼地方 值表示他存的是什麼內容

指標是c/c++的一種基本資料型別(就像整形int,單精度浮點型float) 指標的值表示地址(地址可以是任意的地址 只不過如果存了我們無法控制/無意義的地址 那麼這個指標就被稱為野指標) 暫時把他想成存放變數的地址(指標的值是某個變數的地址) 指標的型別表示他存的這個地址指向的變數是什麼型別

通過指標可以對他存的地址的值進行操作

main裡面傳入了2個變數的地址 swap函式的2個形參分別接受了他們的地址

int temp = *pvalue1; //定義int型變數temp 使他賦成傳入的第一個地址裡面的值

*pvalue1 = *pvalue2; //第一個地址的值賦成第2個地址的值

*pvalue2 = temp; //第2個地址的值賦成temp的值(原來第一個地址的值)

2樓:匿名使用者

你應該這麼理解

int a = 3;

int *p;

p = &a; //*p=3

你再輸出*(&a)發現也等於3

swap函式裡面的引數型別是int *,是整型指標,其實也就是整型地址

它們雖然是兩個概念,但是實際上存在一種等價性

3樓:匿名使用者

int *pvalue1和int *pvalue2是指標,他們接受傳遞來的地址,從中訪問num1和2的值,本人認為int *pvalue1和2實際操作是通過函式呼叫時獲得的形參的地址來操作num1,2的值

4樓:匿名使用者

關注swap函式

pvalue1 為指向num1的指標,*pvalue1和num1是一樣的,修改*pvalue1就是修改num1

C語言指標問題,C語言指標問題

include int main void max min sz 0 for i 1 ip i printf max d position d n max,j 1 printf min d position d n min,k 1 return 0 c語言指標問題 10 最好貼上完整程bai序 或標...

c語言指標問題

指標變數和普通變數沒有什麼區別,指標32位四位元組,裡面儲存的是一個記憶體空間的地址,就像一個整形變數int a,a就可以代表一個整數,一個指標變數int p,p就可以代表一個地址資料,而 地址,代表去這個地址指向的記憶體空間取出裡面的內容,因此如果是要取出這個指標所指向的記憶體裡面的內容就是 p,...

c 的指標問題

首先想說一下關於指標的問題 這裡jnx時二維陣列的首地址,就像在記憶體中開啟了這麼一個區域用來存放資料。同樣的要訪問他們可以通過下標同時使用指標也是對的,但是一定要對準位置了。老師的做法是對的,在定義以後同樣的要分別的給各個指向一維陣列的指標賦值 for i 0 i 3 i p2 i jnx i 只...