請問在C語言中,函式傳參時怎樣利用指標傳遞陣列

2021-06-25 14:47:34 字數 1394 閱讀 7597

1樓:大野瘦子

陣列名就是指標,例如:

#include

void pr(char *p)

printf(p);

void main(void)

char s = "abc";

pr(s);

2樓:樹桖珍

比如函式需要一個整型陣列:

void ex(int a)

或者可以寫成:

void ex(int *a)

效果是一樣的。

使用的時候:

引用陣列中的第2個元素(即下標為1的元素)a[1]

或者*(a+1)

基本上與陣列的正常使用沒有區別。

c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平臺。

3樓:匿名使用者

宣告:int arr(int a);<=>int arr(int *a);(計算機會把前者也翻譯成後者處理,效果等價)

陣列名就是指標

int a[5]=;

引用時:

arrey=arr(a);

其實形參是一個指向該陣列的指標,而陣列只有一個,指向即操作返回陣列值我不知道你想問什麼

4樓:匿名使用者

直接上例子:

比如函式需要一個整型陣列:

void ex(int a)

或者可以寫成:

void ex(int *a)

效果是一樣的。

使用的時候:

引用陣列中的第2個元素(即下標為1的元素)a[1]

或者*(a+1)

基本上與陣列的正常使用沒有區別。

(但要注意 由於呼叫函式時只傳遞了指標(首地址) 所以程式不會做超界檢查)

你在子函式中進行的更改會直接影響到原陣列的內容這也就意味著 只要你在處理函式中更改了資料 那麼任何函式(包括原函式)訪問這個陣列時 都使用的是你更改以後的數值

5樓:匿名使用者

int *p;

int a[10];

p = a;

c語言技巧:怎樣把陣列作為引數傳遞給函式

6樓:匿名使用者

使用pointer(指標)即可.

ex:void func(int *ptr, int len);

int array[10];

test()

在c語言中自定義函式的寫法是怎樣的

看你的函式功能是幹什麼,函式開頭用不用int看的是你函式最後要返回什麼值,返回的型別是什麼就用什麼,格式如下 函式返回型別 沒有返回就void,返回整型就int,字元就char等等 函式名 函式引數。例如定義一個加法函式,最後返回整型就 int addfunction int a,int b 自定義...

c 語言中建立標頭檔案,在c語言中怎樣建立標頭檔案

有區別,標頭檔案不參加編譯,只是呼叫,可以定義類,結構體,聯合體等等原始檔要參見編譯,並且可以包含標頭檔案,main 函式只能在原始檔中,定義函式,標頭檔案可以進行的,原始檔都可以進行,反之不然。還有他們拓展名不同,頭.h 原始檔.cpp 在c語言中怎樣建立標頭檔案 c 怎麼自己建立標頭檔案 1 開...

C語言中輸出身高時怎樣在1 78後面加m

後面加了個m,應該是在printf 函式裡直接加上去的 printf mr.ah q s age and height n d fm n iage,fheight 程式有warning是出現在 fheight 1.78 因為fheight 是float型,而1.78是常數,預設是double型的,直...