#include "stdafx.h"
#include <string>
#include <iostream>
using namespace std;
int (*f( int (&i)[10]))[10]
{
return &i;
}
int (&g( int (&i)[10]))[10]
{
return i;
}
int main()
{
int a=4;
int *p;
int i[10] = {2 };
cout << "i address is " <<i << endl;
p = *f(i);
cout <<"*p is "<< *p << endl;
cout << "*f(i) is " << *f(i) << endl;
cout << "*g(i) is " << *g(i) << endl;
return 0;
}
运行结果是这样的:
我想问下为什么 *f(i)的值是地址值?函数f返回的不就是个地址吗,解引用了为什么还是地址值
...全文
905打赏收藏
请教大神们一个问题 关于函数返回数组指针
代码在此:#include "stdafx.h" #include #include using namespace std; int (*f( int (&i)[10]))[10] { return &i; } int (&g( int (&i)[10]))[10] { return i; } int main() { int a=4; int *p; int i[10] = {2 }; cout << "i address is " <<i << en