电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

c++入门学习笔记指针篇

6页
  • 卖家[上传人]:夏**
  • 文档编号:482094929
  • 上传时间:2024-02-24
  • 文档格式:DOCX
  • 文档大小:71.30KB
  • / 6 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、。c+ 入门学习笔记指针篇指针优点:1 。为函数提供修改调用变元的手段;2 。支持 C+ 动态分配子程序3 。可以改善某些子程序的效率4 。为动态数据结构(如二叉树、链表)提供支持注:指针为程序引入了一层间接性,可以操控指针而不直接操控对象。1 。可操控指针内含的地址也可操控指针所指的对象2 。指针可能并不指向任何对象,写*pi 时,可能会使程序在执行期错误,如寻址到某个对象,则提领操作,不指向任何对象,会出错,所以在提领前先确定它的确指向某对象.一个未指向任何对象的指针,内含地址为0,有时称为null 指针 ,assert (p != 0)可检测是否分配成功。也可用if (pi), 只有在 pi 含非零值时,才为true.一、定义:为存放内存地址的变量。诠释:指针为一数据类型也有自己的地址。占用四个字节的存储空间int * p:&p返回的是指针p 的地址 ,而不是所指变量的地址地址:一般指内存中另一变量的位置二、指针变量:type * name声明时必须确保它的类型与要指向的对象类型兼容const是 “最靠近 ”为原则指向整数常量的指针:const int * p;它所指向的值只读不

      2、能被修改*p = 4(错误 ),p = 5( 正-可编辑修改 -。确 )指向一个整数的常量指针:int * const p;不允许修改指针变量的值,*p = 5 ( 正确 ),p = 5 ( 错误 )三、指针操作符:& (取址运算符) :一元操作符,只作用于一个操作数,返回操作数的地址* (提领操作) :一元操作符,是 & 的补操作,返回其操作数所指变量的值四、指针赋值及转换:同类型直接赋值,异类型要进行转换。强制转换:可以把表达式结果硬性转换为指定类型char * p;(int *)p把 p 强制转换为int 型,记住转换过程中要注意两个类型的大小,大转小时可能会有数据丢失(如int 到 double)涉及 void * 的 :c 中 void * 类型可赋值给任何类型的指针,反之亦然c+中都需要强制转换void *可似为无穷大能接纳任何类型赋值,反之不行int * p =9;void * t= p(正确);p=t( 错误)不涉及 void * 的都要强制转换五、指针的算术操作和整数的加法,减法,自身的增量、减量指针增量后指向下一个与指针基类同型的元素,增减单位是所指类型的长度。六、

      3、其他说明:1 。指针和数组:-可编辑修改 -。不带下标的数组名返回数组的起始地址,即数组首元素的地址,所以对数组的访问可有两种方式:数组下标和指针算术2 。函数指针:函数具有可赋给指针的物理内存地址,一个函数地址也为该函数的进入点,也是调用函数的地址3 。多级指针地址*p七、动态内存分配定义:是程序在运行中取得内存的方法。是从堆(heap )- 系统的自由内存区取得内存运算符:new(c中的 malloc):自动建立一个具有合适大小的对象,返回具有正确类型的指针,如分配不成功,返回一个空指针0 ,且可自动调用构造函数。char * p = new char(t);delete(c中的 free):delect p;释放数组对象时要使用方括号delete p;八、与引用的区别引用运算符:1 。引用只是变量的别名,而不是指向变量的指针(区别于取址运算符&) 不占内存空间, 对变量引用的改变其相应的变量也会改变。2 。不能对引用使用指针间接运算符“*”进行复引用操作3 。引用必须在声明时初始化int &c = count;(c是 count的别名 )九、注意:在每次使用指针前,都应该初始化。

      4、以防止指针指向空对象。-可编辑修改 -。应用举例 (pointer.cpp)编译环境: Window2000 Vc6.0#include #include using namespace std;void main()/int * p =1,不对,整型常量不能转换为整型指针,char * t =0可以/ 指针运算符 & 返回操作数的地址,此处&p,&q是 p,q 的地址/ 要返回得到指向的地址要么正接用p,q要么用 &(*p),&(*q),指针也是/ 是一种数据类型也有自己的内存地址为4 个字节, 8 位int * q , * p;int x =1 ,y = 2;q = &x;p = &y;cout p &p &(*p) p *p endl;cout q &q &(*q) q *q endl;/ 指针赋值 ,整个指针包含的地址、指向的对象都改变了int * t;t = q;-可编辑修改 -。q = p;p = t;cout p p *p endl;cout q q *q endl;/ 指针所指对象的赋值操作 ,地址不变q = &x; /1p = &y; /2cout p p *p en

      5、dl;cout q q *q endl;/ 强制类型转换/double *l;/l = (double*)*q; / q的值赋给临时变量*t=1*t = *q; / q的值赋给临时变量*t=1cout *t endl;*q = *p; / q的值给 q,*q=2cout *q endl;/?*p = *t; /为什么此处 *p 值没有改变*p = *t;cout *t endl;cout p p *p endl;cout q q *q endl;/ 引用的使用-可编辑修改 -。int count = 1;int &c = count; /声明 c 为 count的引用, c 只是 count的别名,不占实际内存空间cout 引用 ;cout c count endl;/ 引用变量在声明时要初始化/int &t; (错误 )/t = count ;/ 不能用指针间接运算符复引用一引用,引用只是一变量的别名/ 它不占地址空间/cout *c endl;int iF = 10;const int * ciS = 0; /指向整数常量的指针,指针最好都进行初始化int * iT = &iF;/*ciS = 100;(错误 ),*ciS 为常量ciS = iT;cout ciS *ciS endl;int * const icS = &iF; /指向整数的常量指针*icS = 10;icS = iT;cout icS *icS endl;-可编辑修改 -

      《c++入门学习笔记指针篇》由会员夏**分享,可在线阅读,更多相关《c++入门学习笔记指针篇》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.