注册 登录
编程论坛 C++教室

实验数组名和指针差异时遇到的问题,求解答,谢谢

caosule 发布于 2019-01-27 01:35, 1334 次点击
问题是红色字体哪儿,求解答,谢谢。
void fun(int *ca)
{
    cout << &ca << endl << &ca[0] << endl<< &(ca[1]) << endl<<(++ca) << endl; //(++ca)显示的为什么是a[0]地址?
}
void fun2(int *ca)
{
    cout << &ca << endl;//显示指针地址
    cout << &ca[0] << endl;//显示a[0]地址
    cout << &(ca[1]) << endl;//显示a[1]地址(第一个+int长度)
    cout<<(++ca) << endl;//显示a[1]地址
}
int main()
{
    int a[6] = { 1,2,3,4 };
    fun(a);
    fun2(a);
}
只有本站会员才能查看附件,请 登录
2 回复
#2
rjsp2019-01-27 11:55
cout << &ca << endl << &ca[0] << endl<< &(ca[1]) << endl<<(++ca) << endl;
中,你知道是先评估&ca等,还是先执行++ca?
我是不懂,因为C++没规定。
#3
caosule2019-01-28 18:43
回复 2楼 rjsp
谢谢回答。
我刚学c++两个月。
也没百度到什么答案,只能先笔记一下了。
1