C語言相關問題,位址的問題,具體如下,希望能得到答案和相關知識

時間 2022-11-17 14:10:25

1樓:匿名使用者

引數傳進去,想傳回改變了的引數只能用return 返回引數,或者用指標,傳指標進去

比如void swap(int x,int y) 改為void swap(int *x,int *y)

2樓:德昂當

這兩道考的都是關於函式實參和形參的知識

第一題中,a是18 呼叫子函式,也是輸出18 加一後輸出19,主程式在呼叫完子函式後,a還是18沒有變。

同樣第二題中,呼叫完子函式後,a與b的值並沒有交換。

以第一題為例 x是形參,而a是實參,呼叫過程是 a把值傳給 x, 函式中對 x的操作,並不會改變a中的值,改變的是x中的值。a 和 x是兩個不同位址的變數。increment(a) 這個呼叫過程,是x=a;把a中的值賦值給 x,函式並沒有對a操作,所以 a並不會改變。

c語言define以及取位址的問題

define是字串替換,define fix long x unsigned x swap 4 unsigned x 就是在 中寫fix long x 就等於寫了 unsigned x swap 4 unsigned x 這個表示式的意思是將值x的位址強制為unsigned int 型指標再取其內容...

C語言陣列定義位址分配問題,c語言陣列在記憶體中是怎麼分配的?

使用c語言程式設計,實際上使用的記憶體只有一種 虛擬記憶體。根據功能的不同在c語言中又將虛擬記憶體為分三類 棧區 堆區 靜態資料區,無論單一變數還是陣列,其記憶體分配都是如此。其中,棧區 靜態資料區 堆區都會有編譯器負責分配 作業系統負責管理,程式設計師可以在堆區使用malloc 來動態分配堆記憶體...

請教c語言關於位址的輸出問題,請教C語言關於位址的輸出問題

孤狼騰龍 第乙個 printf p a 這是輸出a的值 printf p a 這是主輸出存放a值的位址 第二個 如果填b輸出的是a的位址 要輸出指標變數b的位址就直接printf p b 第三個 scanf d a 這是賦值語句,就是將輸入的數字存放在位址a中 記住有 符號,表示位址 牧蕙蘭 第乙個...

有關c語言程式相關基礎及提公升的問題

1 include是呼叫你在寫程式時所需要的程式包或者某個別的程式檔案,編譯肯定是連同呼叫的函式一起編譯,呼叫的函式越多程式就越大。2 eeprom具有掉電不丟失資料的作用,多用於掉電儲存資料。以前的微控制器自身rom不是很大,當編寫的程式比較大時,就要擴充套件eeprom來存放程式了 現在的微控制...

簡單的C語言問題,c語言簡單問題

首先你截圖的型別不是字元型char,而是字元指標型char 指標型別的變數pc儲存的是乙個字元的位址,而圖上 asdf 是乙個字串常量,在記憶體中是乙個長度為5的字串 最後有乙個隱藏的結束符號0 用pc asdf 就是把這個字串第乙個字元的位址給了pc變數。或者說指標pc指向了字串常量 asdf 所...