当前位置: 首页 > news >正文

西宁网站建设模板网站开发公司招聘技术人员

西宁网站建设模板,网站开发公司招聘技术人员,中国建设银行网站荆门网点查询,免费广告推广软件什么是指针#xff1f; 指针是存储内存地址的变量。就像int变量用于存储整数值一样#xff0c;指针变量用于存储内存地址。指针是一种指向内存单元的特殊变量。 内存单元地址通常使用的是16进制表示#xff08;0#xff5e;9和A#xff5e;F#xff09;来表示数字。显示…什么是指针 指针是存储内存地址的变量。就像int变量用于存储整数值一样指针变量用于存储内存地址。指针是一种指向内存单元的特殊变量。 内存单元地址通常使用的是16进制表示09和AF来表示数字。显示16进制数时通常使用前缀0x。 声明指针作为一种变量指针也需要声明。通常将指针声明为声明为指向特定的类型。如int者意味着指针包含的地址对应的内存单元存储了一个整数。 PointedType * PointerVariableName; 注意除非对指针进行初始化否则它包含的将是垃圾值。对于指针来说这种垃圾值非常危险因为指针包含的值被视为地址。未初始化的指针可能导致程序访问非法内存单元进而导致程序崩溃。因此将指针初始化为NULL。 使用引用运算符获取变量的地址 int age 30; age 将是存储该变量的值30的内存的地址。 使用指针存储地址 int age 30; int* pAage age; 给指针重新赋值使其指向另外一个变量 动态内存分配 如果在程序中使用下面这样的数组声明 int myNums[100]; 程序存在两个问题 1.这限制了程序的容量无法存储100个以上的数字 2.如果只需存粗1个数组却为100个数字预留存储空间这将降低系统的性能。 原因数组的内存分配是静态和固定的。 使用new和deldete动态地分配和释放内存 使用new来分配新的内存块通常情况下如果成功new将返回指向一个指针指向分配的内存否则将引发异常。使用new时需要指定要为哪种数据类型分配内存。 Type* p new Type; 需要为多个元素分配内存时还可指定要为多少个元素分配内存 Type * p new Type[num]; 举例 int* p new int; int* p new int[10]; 注意使用new分配的内ucn最终都需使用对应的delete进行释放。 delete p; delet[] p; 将关键字const用于指针 1.指针包含的地址是常量不能修改但可修改指针指向的数据 int day 30; int* const p day; *p 31;//OK!Data pointed to can be changed int day2 28; p day2;//Not OK! Cannot change address! 2.指针指向的数据为常量不能修改但可以修改指针包含的地址即指针可以指向其他的地方。 int a 24; const int* p a; int b 12; p b;//OK *p 13;//Not OK 3.指针包含的地址以及它指向的值都是常量不能修改 int a 24; const int* const p a; *p 13;//Not ok int b 12; p b;//Not Ok 使用指针时常犯的编程错误 1.内存泄漏 如果使用new动态分配的内存不再需要后程序员没有使用配套的delete释放。 2.指针指向无效的内存单元 在使用*对指针解除引用以访问指向的值时务必确保指针指向有效的内存单元否则程序要么崩溃要么行为不端。 指针编程应该遵守一些基本原则 1.务必初始化指针变量否则它将包含垃圾值初始化NULL 2.务必仅再指针有效时才使用它否则程序可能崩溃 3.对于使用new分配得内存一定要记得使用delete进行释放否则应用程序将泄漏内存进而降低系统得性能。 4.使用delete释放内存块或指针后不要访问它 5.不要对同一个内存地址调用多次delete 6.使用完动态分配得内存块后被网络对其调用delete 引用是变量得别名。声明引用时需要将其初始化为一个变量因此引用只是另一种访问相应变量存储数据得方式。 要声明引用可使用引用运算符 VarType original value; VarType ReferenceVariable original; using namespace std; int main(){ int a 30; cout “a” a endl; cout “a is at address:” a endl; int* b a; cout b is at address: b endl; }输出a 和 b 的地址相同 因此引用是真正的别名即相应变量的另一个名字 是什么让引用很有用 引用让您能够访问相应变量所在的内存单元。 using namespce std; void GetSquare(int number){ number* number; } int main(){ cout “Enter a number you wish to square”; int number 5; GetSquare(number); cout number number endl;} 输出25 将关键字const用于引用 需要禁止通过引用修改它指向的变量的值为此可在声明引用时使用关键子const int a 30; const int b a; b 45;//Not allowed:constRef can’t change value in original int c b;//Not allowed.c is not const 问与答 1.我声明了两个指针 int* a new int; int* b a;为了释放内存是否需要对他们都调用delete? 答这样做是错误的对new返回的地址只能调用delete一次最好避免让两个指针指向相同的地址因为对其中一个调用delete将导致另外一个无效。
http://www.hkea.cn/news/14524555/

相关文章:

  • 网站建设的总体目标包含哪几个方面大型的平台类网站建设需要多少资金
  • 中国城乡建设厅网站网站如何做se
  • 蚌埠做网站哪家好百度seo怎么提高排名
  • 广州手机网站制作咨询做项目网站
  • 杭州网站设计公司微信优惠券网站怎么做的
  • php企业网站整站源码做网站到底能不能赚钱
  • 临泽县建设局网站分类目录采用的是
  • 衣柜做网站的关键词博客自定义网站
  • 山东大源建设集团网站淮安市建设银行网站首页
  • 石家庄网站制作仓谷渭南网站建设公司电话
  • 电子商务网站建设论文资料网站开发 模块化
  • 江西做网站建设搜云seo
  • 怎样进网站空间服务器桂林生活网租房
  • 无极网站建设定制修改wordpress页脚信息
  • templatepath wordpress福建搜索引擎优化
  • 宿州网站推广朔州市住房与城乡建设厅网站
  • 沈阳沈河区网站建设页面设计比例
  • vue做pc网站怎么做娱乐网站
  • 南沙网站建设价格用flask做的网站有哪些
  • 哪家网络公司做网站好php网站开发需要学什么软件
  • 百度网站大全企业邮箱哪个比较好用
  • 国内优秀的网站设计越众做的绿色建筑的网站
  • 深圳微交易网站开发江苏专业做网站的公司
  • 网站视频下载wordpress 菜单 插件
  • 网站中的表单怎么做企业公司网站制作
  • 网站后台编辑框无法显示网站直播间怎么做
  • 江苏省建设厅网站官网辽宁省住房和城乡建设厅网站上不去
  • 淘宝电商网站怎么做的php做网站要多久
  • 网站建设合同标准范本建设局是干嘛的单位
  • 网站建设预付款如何付网站开发会什么软件