是的,a 和 b 的值倒過來了,為什麼呢?
看程式;
給 tmp 付給了 a的值 10;
給a 付給了 b 的值 5;
給 b 付給了 tmp 的值10;
所以a 和 b 值倒過來了
void
swap
(int a,
int b)
intmain()
怎樣才能用函式交換a 和 b 的值呢?用指標(看程式三)
把 a,b的位址(用&符號)傳過來,把函式裡的形參變成指標,函式裡的變數取位址內容,這樣就成功交換a,b的值了。
另乙個例子;
void
jiajiaa
(int a)
intmain()
main 函式裡的 a = 10 為什麼呢?看看程式的記憶體走向。。。
解;雖然main函式和jiajiaa函式裡的變數都是a 但是兩個a不一樣,
main函式裡的a;
實際引數,jiajiaa函式裡a形式引數,
兩個a的位址不一樣。所以jiajiaa函式裡的 a+1 會輸出 11
而main函式裡的a會輸出10。
那怎樣才能main函式裡的a 也輸出11呢?
從main函式傳參(注意;傳位址 &a),把 函式jiajiaa的形參變成指標 int *a(int *a =&a,引數傳遞就是乙個賦值的過程),函式裡的形參去內容(*a)就可以了。
此部落格還需再看,多看才能消化!
為什麼用指標
相信接觸過程式設計的,大部分應該對c語言有一定了解或者學過一門c語言課程。或多或少聽到這種說法 c語言很難學,特別是指標。我大一下學期開的這門課,學完之後感覺還好 其實是我沒有深入學,典型的自我感覺良好 但指標那塊確實也沒太弄明白。現在好像明白了一點什麼是指標,在什麼情況下用比較好。int a 1 ...
C語言基礎 指標(二)為什麼用指標
int a 2 int b int 0x0060feec b 20 printf a的位址 p na的內容 d n a,a printf b的位址 p nb的內容 d n 用途 arm裸機程式設計 arm驅動程式設計 volatile int b int 0x0060feec volatile 簡易...
python為什麼用flask 為什麼用flask
flask是python在web開發領域乙個輕量級的框架,為什麼選擇flask呢?此文可能會給你答案。選擇flask的原因 1.微框架 簡潔 只做它需要做的,給開發展提供了很大的擴充套件性。2.flask和相關的依賴 jinja2 werkzeug 設計得非常優秀,用著簡單。3.開發效率非常高,比如...