[英]function return pointer to array type in C
以下C代碼在Debian上在gcc 4.7下編譯(使用gcc -c filename.c
運行)
typedef int array_type[3];
int a[] = {1,2,3};
int* asd1(void){
return a;
}
array_type* asd2(void){
return &a;
}
我不想使用typedef
而是使用實際的類型。 但是,如果我用int*[3]
之類的東西替換array_type*
,它將無法編譯。
我應該用什么替換array_type*
以使其在語義上與上述相同並且可以正確編譯?
int (*asd2(void))[3]{
return &a;
}
請參閱cdecl
嘗試這個:
int (*asd2(void))[3]{
return &a;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.