作者descent ( 返無)
看板C_and_CPP
標題Re: [分享] 嵌入式系統公司指標宣告考題
時間Tue Feb 28 22:57:07 2012
※ 引述《fengchu (Galileo Galilei)》之銘言:
: 美國某著名嵌入式系統公司2005年9月面試題,供板友們練習
: Write in words the data type of the identifier involved in the following
: definitions.
: (1) float (**def)[10];
: (2) double *(*gh)[10];
: (3) double (*f[10])();
: (4) int *((*b)[10]);
直接看, 我不是很會看, 所以用 typedef 來完成一樣的語法。
請各位朋友看看, 這樣是 (4) 的意思嗎?
#include <stdio.h>
typedef int *AR[10];
int main(void)
{
AR ar;
AR *arp=0;
int i=1;
for (i=1 ; i <=10 ; ++i)
{
ar[i] = (int *)i;
}
arp = &ar;
for (i=1 ; i <= 10 ; ++i)
printf("%i: %p\n", i, (*arp)[i]);
return 0;
}
: (5) long (*fun)(int);
: (6) int (*(*F)(int, int))(int);
: 解答在次頁
: (1) def是一個指向指標的指標,*def是指向一個有10個元素的一維陣列的指標,陣列的
: 元素型別為float
: (2) gh是一個指標,指向一個有10個元素的一維陣列,陣列元素型別為double*
: (3) f是一個有10個元素的陣列,陣列的元素型別為函式指標,指向的函式為沒有參數且
: 返回值型別為double的函式
: (4) b是一維陣列的指標,陣列元素型別為int*
: (5) fun是一個函數指標。指向的函數輸入參數型別為int,回傳值型別為long
: (6) F是一個函數指標,指向的函式輸入參數為(int, int),並返回一個函式指標。返回
: 的函式指標指向一個輸入參數為(int)回傳值型別為int的函式
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.184.191.150
→ stimim:b is a pointer to an array of 10 pointer to int 02/28 23:16
→ stimim:arp 的型態就是 b 的型態沒錯 02/28 23:28
→ yshihyu:int **arp[10]; int *((*b)[10]); ...arp, b 怎麼同? 02/29 09:15
→ yshihyu:arp 不是元素都是int **, []高於* 02/29 09:16
推 purpose:樓上,試試 cout << typeid(arp).name(); 02/29 09:40