C語言 指標變數做函式引數

2021-10-10 04:25:02 字數 2092 閱讀 5330

整型變數、實型變數、字元型變數、陣列名和陣列元素等均可作為函式引數。此外,指標型變數也可以作為函式引數。

#include

void

swap

(int

*a,int

*b)main()

將上述程式改寫為:

#include

void

swap

(int

* a,

int* b)

main()

對比發現改後的程式無法實現值得交換,這是由於函式呼叫中發生得值傳遞是單向的,只能把實參的值傳遞給形參,在函式呼叫中,形參的值改變,實參的值不會發生變化。

巢狀的函式呼叫

#include

void

swap

(int

*p1,

int*p2)

void

exchange

(int

* pt1,

int* pt2,

int* pt3)

main()

呼叫函式不可能改變實參指標變數的值,但可以改變實參指標變數所指變數的值。

任意輸入10個資料,先將這10個資料中是奇數的資料輸出,再求這10個資料中的所有奇數之和。

#include

void

sum(

int* p,

int n)

printf

("\n");

printf

("sum:%d\n"

,sum);}

main()

sum(pointer,10)

;}

使用指標實現氣泡排序

#include

void

order

(int

* p,

int n)

printf

("排序後的陣列:");

for(i =

0;i < n;i++

)printf

("\n");

}main()

order

(a, n)

;}

**程式設計實現對英文的12個月份按字母順序排序

#include

#include

sort

(char

*strings,

int n)}}

}main()

; p = month;

sort

(p, n)

;printf

("排序後的12月份如下:\n");

for(i =

0;i < n;i++

)printf

("%s\n"

,month[i]);

}

通過乙個二維陣列使用指標變數作函式引數

找出陣列每行中最大的數,並將這些數相加求和

#include

#define n 4

void

max(

int(

*a)[n]

,int m)

printf

("\n");

printf

("每行中最大數相加之和是:%d\n"

,sum);}

main()

當形參為陣列時,實參也可以為指標變數

完成陣列的氣泡排序

#include

printf

("排序後的陣列:");

for(i =

0;i < n;i++

)printf

("\n");

}main()

C語言 指標做函式引數

任務 include 改變上乙個章節,用氣泡排序法和指標來排序 void bubblesort int int 函式的宣告使用指標 int main 定義乙個無序陣列 bubblesort a,10 氣泡排序a陣列 int i for i 0 i 10 i printf n return 0 voi...

C語言指標做函式引數

指標型函式的作用是將主調函式中的變數位址傳遞到被調函式中,從而實現變數的跨函式引用。例 在主函式中輸入兩個整數並存入變數中,然後再被調函式中將這兩個數互換,最後在主函式中輸出結果。示例一 引數傳遞 include void swap int a,int b int main void 這種方法不能實...

go語言 指標 new函式 指標變數做函式引數

如果學過c的都知道,指標很多地方都要用到,我們宣告乙個變數,其實就是就是開闢一塊記憶體空間,我們在操作變數的時候,並不是直接取操作變數存在的空間,而是這個變數的記憶體位址。變數名對記憶體位址的引用。因此宣告乙個變數包含 記憶體空間和記憶體位址 package main import fmt func...