c語言定義問題inta5intchar

2021-03-03 20:42:56 字數 1961 閱讀 1734

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的值是 這好解釋啊,因為 是後 ...