整型變數、實型變數、字元型變數、陣列名和陣列元素等均可作為函式引數。此外,指標型變數也可以作為函式引數。
#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...