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

時間 2021-06-25 14:47:02

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語言函式呼叫時,實參和形參是如何傳遞的?什麼時候要寫指標型變數?求高手指點

毋惜苼 在c語言中,實參將值傳給函式中的形參,實現了自上而下的值傳遞,就可以呼叫函式了。舉個淺顯一點的例子吧 include void main int swap int x,int y 在主函式中,將實參a,b的值傳遞給被呼叫函式中的形參x,y,即將a,b分別代入x,y中計算,即達到了呼叫的目的。...

在c語言中怎樣獲得漢字編碼,在C語言中怎樣獲得漢字編碼?

c語言中,我們用整數輸出字元得到的就是該字元的asii碼,如用整數輸出a,得到97 但是,漢字用的是兩個位元組儲存,我們需要分別輸出者兩個位元組,就相當於輸出該漢子的編碼。c語言支援ascii,而gb2312與ascii是相容的,所以可以在c語言中獲得漢字的gb2312編碼 gb2312是兩個位元組...

在C語言中,函式實參與形參之間的資料傳遞方式是傳遞方式

八零後電影院 函式實參與形參之間的資料傳遞方式是 值傳遞 傳遞方式,在c語言中,資料傳遞方式有值傳遞和引用傳遞,值傳遞 傳值,實際是把實參的值賦值給行參,相當於copy。傳值呼叫中,只使用了實參的值。傳值呼叫機制裡,形參是乙個區域性變數,其初始值為相應實參的值。在引用呼叫機制裡,將實參的位址傳遞給形...