1樓:匿名使用者
指向函式的指標
typedef就是將pfun設定為函式的新型別,以後用pfun定義的變數就代表了返回值,引數型別如上的函式型別,因此用pfun a[5]就是a[5]型別的函式,說白了就是有一個陣列,陣列的成員型別是指向函式的指標。
其中(int,char*)分別是函式的引數型別int*說明函式返回值是指標型別
希望對你有幫助
2樓:
定義了一個有五個元素的陣列,每個元素都是函式指標,指向引數為(int,char*)型別,返回值為int *的函式。
c語言二級指標int **a ,int (*a)[5]和int *(a[5])的各是什麼含義
3樓:匿名使用者
這個很詳
細我也是看這個的當初
4樓:
int **a; 就是指向指標的指標啊;
int (*a)[5]; 就是陣列指標,表示指向一個大小為5的整型陣列。a++的距離就是5*sizeof(int);
int *a[5]; 就是指標陣列,表示陣列裡面存的都是指標,a++的距離不過是一個整型指標的距離,大小一般為4.
假設分配一個4x3的二維空間
int **a;
//new
a = new (int*)[4];
for(int i=0;i<4;i++)
//delete (與new順序相反)
for(int i=0;i<4;i++)
delete a;
5樓:匿名使用者
int **a是int型的指標的指標,int(*a)[5] 是指標陣列,可以理解為這個指標返回的是陣列,最後一個是陣列指標,就是*a[5],5維陣列,每個元素都是一個指標,通用的說都是類似a的,只是在編譯器執行的時候會有不同,編譯器執行時會把a轉換成(*)a,*a會轉換成**a,(*)a不會變,**a也不會變,這就是涉及到編譯器內部機理了,還有陣列指標關係!估計二級不好考這麼深!
c語言中int*x[5]與int(*x)[5]有什麼區別,怎麼用畫圖來表示儲存配置
6樓:匿名使用者
int *x[5]表示定義了一個陣列,且陣列中每個元素都是指標,這些指標指向int型;
int(*x)[5]表示定義的是一個指標,這個指標指向具有5個int型元素的陣列。
int *x[5]表示一個陣列,int(*x)[5]表示一個指標。
7樓:匿名使用者
int *x[5]
一個指標陣列,陣列的每個元素可以指向一個int型元素int(*x)[5]
一個陣列指標,指向一個有5個int型元素陣列的指標
8樓:匿名使用者
int *x[5] 是一個指標陣列,陣列中的每一個元素都是 int* ,一個int* 不僅僅可以指向一個int,還可以指向一個int 陣列.
int (*x)[5] 陣列指標,指向一個有5個int型別元素的陣列。
如 int a[5]; int (*x)[5]=&a;
9樓:皇甫曉騫度萊
int sub(int x,int y,int *z)z是地址傳參,所以要寫成*z
z在傳參的時候要寫&
例子:int
x=5,y=3,z,res;
res=sub(x,y,&z);
語句過後,z值為2,res值為2
%%%%%%%%%%%%%%%%%%%%%%剛才沒有看到你的詳細問題呢...
應該是這樣:
函式返回值是void,所以可以不寫return(可以理解成『}』之前就return了)
函式是地址傳參,所以會改變原有的z值
c語言的陣列問題,若有定義inta以下選項
選d。一個二維陣列可以被認為是一個帶有 x 行和 y 列的 下面是一個二維陣列,包含 2 行和 3列 因此,陣列中的每個元素是使用形式為 a i j 的元素名稱來標識的,其中 a 是陣列名稱,i 和 j 是唯一標識 a 中每個元素的下標。i最大值為1,j最大值為2,超出此範圍則表示錯誤。d 因為1 ...
c語言問題中int和,c語言問題中int和float
int型是整數,作為結果輸出也只能是整數 如果是個小數,它會自動把小數位拋棄的。float就可以是小數了。不是精度的問題,是這一句的原因 s s a b int 型的 a b 得到的是整型 float 型的 a b 得到的浮點型 比如說,a 3,b 2 int 型得到的是1,float得到的是1.5...
C語言定義int a1,2,3,4,y,p
這好解釋啊,因抄 為 是後 要等襲到把 p 的值賦給y後 p 的值才會增1。所以結果是y 1,a 0 2。你可以用下面的 驗證 int main void y,p a 1 y p printf d d n y,a 0 return 0 c語言 定義則執行y p 後,y的值是 這好解釋啊,因為 是後 ...