博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Pointer 指针
阅读量:6290 次
发布时间:2019-06-22

本文共 1245 字,大约阅读时间需要 4 分钟。

利用指针访问对象,指针指向一个对象,允许使用解引用符(操作符*)来访问对象int ival = 42;int *p = &ival;//p存放变量ival的内存地址,p是指向变量ival的指针cout << *p;//符号*得到指针p所指的对象对指针解引用会得到所指的对象,给解引用的结果赋值,实际也就是给指针所指对象赋值*p = 0;//符号*得到指针p所指对象,可经由p为变量ival赋值*p 操作的是指针指向对象 的内存地址空间,为*p赋值实际是为p所指的对象赋值;解引用操作适用于确实指向了对象的有效指针使用字面值nullptr初始化指针指针初始化为字面值0生成空指针NULL预处理变量preprocessor variable指针赋值 NULL在变量 cstdlib;预处理 运行与编译之前预处理变量不属于命名空间StdC++程序使用nullptr生成申明空指针*pi 是 对象的值,pi却是对象的内存int iival  = 1024;int *pi = 0;//pi合法,是一个空指针int *pi2 = &ival //pi2是一个合法的指针,存放ival值if(pi)  pi 的值 0,因此条件的值是falseif(pi2) pi2指向ival,因为它的值不是0,条件为true;任何非0指针对应的条件值true对应两个类型相同的合法指针,== != 操作符   result boolera;两个指针存储的地址值相同 指针存储的地址值相同都为nullptr;都指向同一个对象都指向了同一个对象的一个指针指向某对象,同时另一个指针指向同一条定义语句,虽然基本数据类型只有一个,申明符的形式却可以不同,一条定义语句可能定义出不同类型的变量&r = i  赋值运算符 改变的永远都是左值r定义多个变量类型修饰符*& 作用于本次定义的全部变量   可以把空格写在类型修饰符和变量名中间空格写在类型修饰符和变量名中间空格写在类型修饰符和变量名中间int* p;int *p;合法但很容易产生误导*修饰符 *p仅仅修饰了p,对该声明语句中的其他变量 并不产生任何作用int* p,p2;//p是指向int的指针,p2是int把修饰符和变量写在一起int *p1,*p2;涉及指针和引用声明 第一种把修饰符和变量标识符写在一起,此种形式着重强调变量具有的复合类型第二种把修饰符和类型名写在一起并且每条语句只定义一个变量;指针是内存中对象,像其它对象一样有自己的地址,允许把指针的地址再存放到另一个指针当中int *p,i;int pp = &p;***指向指针的指针的指针int ival = 1024;int *pi = &ival;//pi是一个指向int型数int **ppi = π

  

posted on
2017-04-16 14:24 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/ruiy/p/6718701.html

你可能感兴趣的文章
modprobe
查看>>
android中用ExpandableListView实现三级扩展列表
查看>>
%Error opening tftp://255.255.255.255/cisconet.cfg
查看>>
java读取excel、txt 文件内容,传到、显示到另一个页面的文本框里面。
查看>>
《从零开始学Swift》学习笔记(Day 51)——扩展构造函数
查看>>
python多线程队列安全
查看>>
[汇编语言学习笔记][第四章第一个程序的编写]
查看>>
android 打开各种文件(setDataAndType)转:
查看>>
补交:最最原始的第一次作业(当时没有选上课,所以不知道)
查看>>
Vue实例初始化的选项配置对象详解
查看>>
PLM产品技术的发展趋势 来源:e-works 作者:清软英泰 党伟升 罗先海 耿坤瑛
查看>>
vue part3.3 小案例ajax (axios) 及页面异步显示
查看>>
浅谈MVC3自定义分页
查看>>
.net中ashx文件有什么用?功能有那些,一般用在什么情况下?
查看>>
select、poll、epoll之间的区别总结[整理]【转】
查看>>
CSS基础知识(上)
查看>>
PHP中常见的面试题2(附答案)
查看>>
26.Azure备份服务器(下)
查看>>
mybatis学习
查看>>
LCD的接口类型详解
查看>>