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

指针问题求解

albbpkpk123 发布于 2019-02-26 22:07, 1687 次点击
#include<iostream>
using namespace std;
int main()
{
    int a[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, };

    int *p = a + 5, *q = NULL;
    q = p + 5;

    cout << *(p+5) << endl;

    cout << *p << " " << *q << endl;

    return 0;

}

为什么*q=*(p+5)就报错呢, 和q=p+5区别没搞懂。。求帮解释下
3 回复
#2
rjsp2019-02-27 08:37
因为 *q 不存在呀 (q是NULL)
#3
王连峰2019-04-06 18:15
操作内存冲突
#4
yuyundong2019-04-10 15:33
看你加在哪一行了,加在q=p+5后面应该没问题
1