我有一个int arr[5]传递给函数的数组fillarr(int arr[]):
int fillarr(int arr[]) { for(...); return arr; } 如何返回该数组? 我将如何使用它,说我返回了一个指针,我将如何访问它?
在这种情况下,arr通过隐式转换,实际上也可以将数组变量视为指向内存中数组块开头的指针。您使用的语法如下:
int fillarr(int arr[]) 只是一种语法糖。您可以用它替换它,它仍然可以工作:
int fillarr(int* arr) 因此,从同样的意义上说,您要从函数中返回的内容实际上是指向数组中第一个元素的指针:
int* fillarr(int arr[]) 而且您仍然可以像使用普通数组一样使用它:
int main() { int y[10]; int *a = fillarr(y); cout << a[0] << endl; } 问题来源于stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。