指標變數作為函式引數

2021-08-28 09:21:16 字數 538 閱讀 9203

先描述乙個題目,題目是這樣的,輸入a和b兩個整數,按先大後小的順序輸出a和b。

/* note:your choice is c ide */

#include "stdio.h"

void main()

{ void swap(int *p1,int *p2);

int a,b;

int *pointer_1,*pointer_2;

scanf("%d,%d",&a,&b);

pointer_1=&a;

pointer_2=&b;

if(a對程式的說明:swap是使用者定義的函式,它的作用是交換兩個變數(a和b)的值。swap函式的兩個形參p1、p2是指標變數。程式執行時,先執行main函式,輸入a和b的值。然後將a和b的位址分別賦給指標變數pointer_1和pointer_2,使pointer_1指向a,pointer_2指向b。接著執行if語句,若滿足ap1和p2的值互換,也就是使a和b的值互換。函式呼叫結束後,形參p1和p2不復存在(已釋放)。最後在main函式中輸出的a和b的值已是經過交換的值。

指標變數作為函式引數

函式的引數可以是指標型別,它的作用是將乙個變數的 位址傳送到另乙個函式中。指標變數作為函式引數與變數本身作函式引數不同,變數作函式引數傳遞的是具體值,而指標作函式引數傳遞的是記憶體的位址。用指標變數作函式引數,在被調函式的執行過程中,應使指標變數所指向的引數值發生變化,這樣,函式在呼叫結束後,其變化...

指標變數作為函式引數

先描述乙個題目,題目是這樣的,輸入a和b兩個整數,按先大後小的順序輸出a和b。note your choice is c ide include stdio.h void main p1就是a,是整型變數。而 temp是指標變數temp所指向的變數。但temp中並無確定的值 它的值是不可預見的 因此...

C語言指標變數作為函式引數

有讀者反饋,不理解字元陣列和普通陣列的區別,下面筆者作一下解答。實際上,字元陣列和普通陣列一樣,沒有本質區別。請大家注意陣列型別的含義 資料型別指的是陣列所包含的元素的型別,而不是陣列名的型別,陣列名永遠是乙個指標,指向第乙個元素的位址,即陣列首位址。字元陣列的每個元素都是char型別,整型陣列的每...