微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

到底是一个尖兵,它是什么类型?

如何解决到底是一个尖兵,它是什么类型?

例如,让我们考虑下面的C代码

int x;
const int *p = &x;

p现在是指向const int的非const指针。但是,pointe的类型是什么?是int还是const int?我一直在搜索,但没有找到确切的定义。

为避免混淆,const int *p意味着p是指向const int的指针,而int * const p意味着p是指向int的const指针。

我确实找到了this

名词

pointee (多个 pointes

(计算)指针所引用的数据或对象。

但是要回答pointee类型的问题还不够精确。

解决方法

pointee是指针指向的对象。在这种情况下,指针对象是<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/5.0.0-alpha2/css/bootstrap.min.css" /> <script src="https://stackpath.bootstrapcdn.com/bootstrap/5.0.0-alpha2/js/bootstrap.min.js"></script> <nav class="navbar navbar-dark fixed-top bg-dark"> <a class="navbar-brand">Brand Name</a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse bg-dark" id="navbarCollapse"> <ul class="navbar-nav mr-auto"> <li class="nav-item active"> <a class="nav-link" href="#">Home</a> </li> <li class="nav-item"> <a class="nav-link" href="#">Link 1</a> </li> <li class="nav-item"> <a class="nav-link" href="#">Link 2</a> </li> </ul> </div> </nav>类型的<!-- jQuery --> <script src="../../plugins/jquery/jquery.min.js"></script> <!-- Bootstrap 4 --> <script src="../../plugins/bootstrap/js/bootstrap.bundle.min.js"></script> <!-- DataTables & Plugins --> <script src="../../plugins/datatables/jquery.dataTables.min.js"></script> <script src="../../plugins/datatables-bs4/js/dataTables.bootstrap4.min.js"></script> <script src="../../plugins/datatables-responsive/js/dataTables.responsive.min.js"></script> <script src="../../plugins/datatables-responsive/js/responsive.bootstrap4.min.js"></script> <script src="../../plugins/datatables-buttons/js/dataTables.buttons.min.js"></script> <script src="../../plugins/datatables-buttons/js/buttons.bootstrap4.min.js"></script> <script src="../../plugins/jszip/jszip.min.js"></script> <script src="../../plugins/pdfmake/pdfmake.min.js"></script> <script src="../../plugins/pdfmake/vfs_fonts.js"></script> <script src="../../plugins/datatables-buttons/js/buttons.html5.min.js"></script> <script src="../../plugins/datatables-buttons/js/buttons.print.min.js"></script> <script src="../../plugins/datatables-buttons/js/buttons.colVis.min.js"></script> <!-- AdminLTE App --> <script src="../../dist/js/adminlte.min.js"></script> <!-- AdminLTE for demo purposes -->

以这种方式思考:x是对对象int的恒定“视图”,也可以通过p来读取x,但这不是不能更改p可变的事实。

无论如何,不​​要为此付出太多。 “ Pointee”不是使用过多的术语,我什至怀疑它是在标准中定义的。

,

指针p的类型是p:const int *的左边。指示者的类型是* p:const int的左边。在程序中,必须注释const才能修改指针:

#include "stdio.h"

main()
{
    int i = 42;
    /* const */  int *p = &i;
    *p = 43;
    printf("i: %d",i);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。