我真的对这个程序不知所措。我希望它返回一个由 5 个元素组成的整数数组的地址。但它不会工作。如何让 C 函数返回数组的地址而不是它的地址第一个元素(基地址)?我知道两者在数字上相同,但它们的类型不同,这就是我问的原因。
更准确地说,如何声明此类函数的原型?我了解如何声明原型的参数部分(使用抽象声明符),但如果我们要返回地址,我不知道如何声明返回类型数组或函数。我只知道如果我们在声明中的函数名之前放置一个“*”,这意味着该函数返回一个指向相应主要数据类型的指针,如 int、char 或 float。
#include<stdio.h>
int (*)[5]fun(int (*)[5]);
int main(void)
{
int arr[5];
printf("%u",fun(&arr));
}
int (*)[5]fun(int (*arr_add)[5])
{
return arr_add;
}
你好!! DANIEL FISCHER感谢您的回答。您的回答准确而简洁。但我选择了 H2CO3 的回答,因为那个聪明的匈牙利孩子不厌其烦地通过聊天向我详细解释。很难选择最好的当这么多聪明的人回答时回答。谢谢大家!