1樓:匿名使用者
應該這樣定義:const int ((*temp)(int a,int b)); 但是函式不能返回一個陣列. 這樣也編不過.
2樓:匿名使用者
請參考:
#include
const int fun1(int a,int b); const int fun2(int a,int b); typedef const int (* fun)(int a,int b); //把 int 返回值 兩個int引數的函式定義成fun函式指標型別
int main()
; //形式相同的函式指標陣列,方便函式的統一管理int temp[2];
/*int i;
for(i=0;i<2;i++)
temp[i]=f[i](1,1);
*/temp[0]=f[0](3,6);
temp[1]=f[1](7,4);
printf("%d %d\n",temp[0],temp[1]);
return 0;}
請問在c語言中,函式傳參時怎樣利用指標傳遞陣列
3樓:大野瘦子
陣列名就是指標,例如:
#include
void pr(char *p)
printf(p);
void main(void)
char s = "abc";
pr(s);
4樓:樹桖珍
比如函式需要一個整型陣列:
void ex(int a)
或者可以寫成:
void ex(int *a)
效果是一樣的。
使用的時候:
引用陣列中的第2個元素(即下標為1的元素)a[1]
或者*(a+1)
基本上與陣列的正常使用沒有區別。
c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。
儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平臺。
5樓:匿名使用者
宣告:int arr(int a);<=>int arr(int *a);(計算機會把前者也翻譯成後者處理,效果等價)
陣列名就是指標
int a[5]=;
引用時:
arrey=arr(a);
其實形參是一個指向該陣列的指標,而陣列只有一個,指向即操作返回陣列值我不知道你想問什麼
6樓:匿名使用者
直接上例子:
比如函式需要一個整型陣列:
void ex(int a)
或者可以寫成:
void ex(int *a)
效果是一樣的。
使用的時候:
引用陣列中的第2個元素(即下標為1的元素)a[1]
或者*(a+1)
基本上與陣列的正常使用沒有區別。
(但要注意 由於呼叫函式時只傳遞了指標(首地址) 所以程式不會做超界檢查)
你在子函式中進行的更改會直接影響到原陣列的內容這也就意味著 只要你在處理函式中更改了資料 那麼任何函式(包括原函式)訪問這個陣列時 都使用的是你更改以後的數值
7樓:匿名使用者
int *p;
int a[10];
p = a;
陣列指標和指標陣列的區別,c語言中的指標陣列和陣列指標的區別
int a 3 4 這個bai無需多說,就du是乙個二zhi維陣列。int p 4 就相當於daoint p 4 它就是乙個二維陣列的指標,可以 專指向乙個第屬二維度為4的二維陣列。而a就是這樣的陣列,因而下面是合法的。p a int p 3 是指標陣列。說白了,就是定義了三個指標,分別為p 0 p...
c語言中的指標陣列和陣列指標的區別
指標陣列 陣列裡的每乙個元素都是指標如 p 10 裡面的 p 0 到 p 9 都是指標 可參考 http baike.陣列指標 指向乙個陣列的指標,如 arr 10 是乙個陣列,讓乙個指標指向這個陣列 p arr 訪問時通過 p n 或 p n 訪問元素值,n為元素索引值 可參考 http baik...
ios中陣列和指標的區別,陣列和指標的區別
1 陣列可以申請在棧區和資料區 指標可以指向任意型別的記憶體塊 2 sizeof作用於陣列時,得到的是陣列所佔的記憶體大小 作用於指標時,得到的都是4個位元組的大小 3 陣列名表示陣列首位址,值不可以改變,如不可以將 作用於陣列名上 普通指標的值可以改變,如可將 作用於指標上 4 用字串初始化字元陣...