关于野指针与指针的关系运算存在的疑惑

C语言标准规定允许指向数组的指针与指向数组最后一个元素后面的那个的内存位置的指针进行比较,最后一个元素的后面的那个内存位置的指针不算野指针吗,野指针不是指向位置未知吗,求解答,谢谢

是野指针,但只有不访问那个内存就无所谓,只用指针(地址)做比较是允许的

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这篇博客也许可以解决你的问题👉 :指针、野指针、指针常量、常量指针
  • 同时,你还可以查看手册:c语言-指针 中的内容
  • 除此之外, 这篇博客: C语言指针初阶--详解中的 常见导致野指针的情况 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    1. 引用未初始化的指针变量
    int x=1;
    int* p;
    *p=x;
    

    指针p未初始化,自动初始化为0,指向的是一块程序员无法把控的内存,程序运行时会报错

    1. 引用被赋值为NULL的指针变量
    int x=1;
    int* p=NULL;
    *p=x;
    

    NULL就是典型的野指针~NULL的空间是不可用的,往该内存空间写数据也是非法的


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^