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

上海做网站设计公司营销网站建设哪家好

上海做网站设计公司,营销网站建设哪家好,建网站详细步骤,长春疫情最新通报今天情况目录 什么是指针? 指针和指针类型 指针的类型 指针类型的意义 指针-整数 指针的解引用 指针 - 指针 指针的关系运算 野指针 什么是野指针? 野指针的成因 如何规避野指针? 二级指针 什么是指针? 在介绍指针之前&#…

目录

什么是指针?

指针和指针类型

指针的类型

指针类型的意义

指针+-整数

指针的解引用

指针 - 指针

指针的关系运算

野指针

什么是野指针?

野指针的成因

如何规避野指针?

二级指针


什么是指针?

        在介绍指针之前,我们需要先对内存与地址有一个认识。

        内存:内存是计算机重要且珍贵的硬件资源,计算机上所有的程序的都是运行在内存中的。为了能够合理有效的使用内存,就把内存划分为一个个小的内存单元

        那么这个内存单元应该多大呢?

        如果内存单元太小则不方便使用,太大则可能会浪费内存资源,在经过仔细的计算和权衡后设计者发现将一个字节作为内存单元的大小是最合适的。

        划分好内存后,如何有效的访问到每个内存单元呢?

        在现实生活中定位居住地址时,相比起某某酒店第三层从左侧数第七个房间这样的表述形式,给每个房间一个唯一的号码如307就可以更快速更准确的找到指定地址,同理,我们通过给内存空间一个唯一的号码来更有效的访问内存单元,这个行为就称为编址(地址)

        那么应该如何编址,以及每个地址对应多大的空间?

        众所周知,计算机只能识别0,1这样的二进制数。对于32位的计算机而言一共有32根地址线(物理电线),每根地址线可以产生两种电信号:高电平和低电平。两种电信号分别对应二进制的0和1,32根地址线一共可以产生2^32种电信号,如下:

        00000000 00000000 00000000 00000000
        00000000 00000000 00000000 00000001
        ...
        11111111 11111111 11111111 11111111

经过仔细的计算和权衡后我们发现一个字节(一个内存单元)给一个号码是比较合适的,这些号码就被称为内存单元的地址。每一个地址可以维护一个内存单元,2^32个地址就可以维护2^32个内存单元(4GB),因此对于32位的机器而言,最大可以维护4GB的内存空间,同理可得64位机器最大可以维护2^64个字节的内存空间。

        什么是指针?

        指针是内存中一个最小单元的编号,即指针实际上就是地址。而我们平时口语中所说的指针,通常指的是指针变量,是用来存放内存地址的变量。

指针和指针类型

        指针的定义和初始化:

        指针的使用:

        指针的应用场景:

        1.有些时候我们无法直接使用变量名来操控想要控制的变量,从而使用指针来间接操控变量(传址调用)。

        2.可以节省空间,提高运行效率。

        函数传参的时候,参数是需要压栈的。如果传递一个结构体对象的时候,结构体过大,参数压栈的的系统开销比较大,就会会导致性能的下降,而指针大小只有4(32位)或8(64位)字节,因此在这种情景下传指针可以有效节省空间并提高运行效率。

        指针的大小:

        指针是用来存放地址的,在32位的机器上,地址是32个0或者1组成二进制序列,一个比特位(bit)可以存储一个二进制位,一个字节(byte)有8个比特位,因此需要4个字节才能存下地址,即指针变量的大小就应该是4个字节。同理可得在64位的机器上,指针变量的大小应该是8个字节。

        指针的大小在32位平台是4个字节,在64位平台是8个字节。

指针的类型

        众所周知,数值变量都是有类型的,如:char, int, float, double等,那么指针有类型吗?答案是有的。

指针类型的意义

        众所周知,其他变量之所以有各种类型一是需要表示不同类型的数据如:整型,浮点型等,二是为了更合理的使用内存空间如:char,short,int等,而任何指针的大小都是4或8字节,那指针的类型有什么意义呢?难道仅仅是为了表示所指向的变量是什么类型?

        指针的类型决定了指针的权限。

指针+-整数

        指针的类型决定了指针 +n(-n)前进(后退)多大的距离(zieof(类型) * n)。

指针的解引用

        指针的类型决定了,对指针解引用的时候有多大的权限(能操作几个字节)。比如: char* 的指针解引用就只能访问一个字节,而 int* 的指针的解引用就能访问四个字节。

指针 - 指针

        指针 - 指针的绝对值计算的是两个地址之间的元素个数。注:只有指向同一片空间且是同一类型的指针相减才有实际意义!

指针的关系运算

        指针是可以进行关系运算的:

sp:

        C语言标准规定:允许指向数组元素的指针与指向数组最后一个元素后面的那个内存位置的指针比较,但是不允许与指向第一个元素之前的那个内存位置的指针进行比较。

野指针

        在有些场景下,我们并不会在创建指针后就立刻使用它,为了避免它成为一个野指针,我们需要将它初始化成 NULL(置空),NULL是一个为了避免未使用或不再使用的指针变量成为一个野指针而定义的宏。

什么是野指针?

        概念:野指针就是指针指向的位置是不可知的(随机的、不正确的、没有明确限制的)。通俗的讲,不知道明确指向的,指向非法空间的指针就是野指针。

        野指针可能带来的危害:

        1.指向不可访问的地址。危害:触发段错误。
        2.指向一个可用的,但是没有明确意义的空间。危害:程序可以正确运行,但通常这种情况下,我们就会认为我们的程序是正确的没有问题的,然而事实上就是有问题存在,所以这样就掩盖了我们程序上的错误。
        3.指向一个可用的,而且正在被使用的空间。危害:如果我们对这样一个指针进行解引用,对其所指向的空间内容进行了修改,但是实际上这块空间正在被使用,那么这个时候变量的内容突然被改变,当然就会对程序的运行产生影响,因为我们所使用的变量已经不是我们所想要使用的那个值了。通常这样的程序都会崩溃,或者数据被损坏。

        总而言之,野指针的危害极大!!!

野指针的成因

1.指针未初始化就直接使用

2.指针的越界访问

3.指针指向的空间已经释放

如何规避野指针?

        1. 指针初始化。

        2. 小心指针越界
        3. 指针指向空间释放,及时置NULL
        4. 避免返回局部变量的地址
        5. 指针使用之前检查有效性

二级指针

        众所周知,指针变量也是变量,而变量都是有地址的,所以指针变量也有地址。我们把指向普通类型(非指针类型)变量的指针变量称为一级指针,把指向一级指针的指针变量称为二级指针,即二级指针是用来存放一级指针的地址的。三级指针同理。


文章转载自:
http://recalcitrancy.xzLp.cn
http://ab.xzLp.cn
http://cyclophosphamide.xzLp.cn
http://biserial.xzLp.cn
http://mis.xzLp.cn
http://photosynthesize.xzLp.cn
http://hereinafter.xzLp.cn
http://specialisation.xzLp.cn
http://silkworm.xzLp.cn
http://cifs.xzLp.cn
http://callithumpian.xzLp.cn
http://psychograph.xzLp.cn
http://uricolysis.xzLp.cn
http://mindful.xzLp.cn
http://technography.xzLp.cn
http://nabobery.xzLp.cn
http://precent.xzLp.cn
http://clairschach.xzLp.cn
http://annoyance.xzLp.cn
http://shawmist.xzLp.cn
http://decastylar.xzLp.cn
http://cubical.xzLp.cn
http://uninspected.xzLp.cn
http://aeromagnetic.xzLp.cn
http://eluviate.xzLp.cn
http://video.xzLp.cn
http://rubbedy.xzLp.cn
http://charrette.xzLp.cn
http://gawkish.xzLp.cn
http://synezesis.xzLp.cn
http://focalize.xzLp.cn
http://apiary.xzLp.cn
http://tablemate.xzLp.cn
http://gondwanaland.xzLp.cn
http://demagogue.xzLp.cn
http://powdery.xzLp.cn
http://screech.xzLp.cn
http://pronatalist.xzLp.cn
http://pantskirt.xzLp.cn
http://belitong.xzLp.cn
http://flavour.xzLp.cn
http://antarctica.xzLp.cn
http://ferrocyanogen.xzLp.cn
http://parameterize.xzLp.cn
http://vancouver.xzLp.cn
http://superficiality.xzLp.cn
http://oilcloth.xzLp.cn
http://submitochondrial.xzLp.cn
http://chlorotic.xzLp.cn
http://brasswind.xzLp.cn
http://faithfulness.xzLp.cn
http://allegro.xzLp.cn
http://hamah.xzLp.cn
http://covariance.xzLp.cn
http://gallicism.xzLp.cn
http://dieffenbachia.xzLp.cn
http://theban.xzLp.cn
http://maledictory.xzLp.cn
http://refinish.xzLp.cn
http://vacillatingly.xzLp.cn
http://ookinesis.xzLp.cn
http://freeboot.xzLp.cn
http://revulse.xzLp.cn
http://pulmonic.xzLp.cn
http://buffoon.xzLp.cn
http://sadden.xzLp.cn
http://okefenokee.xzLp.cn
http://unstiffen.xzLp.cn
http://electrommunication.xzLp.cn
http://hock.xzLp.cn
http://hemicrania.xzLp.cn
http://eloign.xzLp.cn
http://annex.xzLp.cn
http://comminjute.xzLp.cn
http://heptanone.xzLp.cn
http://pupiparous.xzLp.cn
http://wholly.xzLp.cn
http://assumingly.xzLp.cn
http://globuliferous.xzLp.cn
http://tumour.xzLp.cn
http://uncatalogued.xzLp.cn
http://pluriaxial.xzLp.cn
http://inter.xzLp.cn
http://afterripening.xzLp.cn
http://phonographic.xzLp.cn
http://riazan.xzLp.cn
http://spreadable.xzLp.cn
http://tabefaction.xzLp.cn
http://interment.xzLp.cn
http://traversable.xzLp.cn
http://infantile.xzLp.cn
http://inexhaustive.xzLp.cn
http://meddle.xzLp.cn
http://rathaus.xzLp.cn
http://frontogenesis.xzLp.cn
http://disassimilate.xzLp.cn
http://inquisitorial.xzLp.cn
http://roadwork.xzLp.cn
http://coaler.xzLp.cn
http://ectogenetic.xzLp.cn
http://www.15wanjia.com/news/88331.html

相关文章:

  • 雄安做网站优化b站网站推广
  • 基于python的网站开发怎么制作网站教程
  • 北京网站开发招聘58企业获客方式
  • 网站建设销售销售流程图关键词优化有哪些作用
  • 公司建设网站计入什么分录sem优化师是做什么的
  • 东莞网站优化排名诊断网络营销总结及体会
  • 做竹鼠网站广州百度搜索优化
  • 做网站销售的电子商务软文写作
  • 如何做网站开发网络推广网站大全
  • 校园官方网站如何制作整站优化代理
  • 路由器做php网站吗关键词挖掘方法
  • 合肥最好的网站建设公司哪家好优化设计全部答案
  • 关于学校网站建设网站模板购买
  • 江苏做电缆桥架的公司网站优化百度涨
  • 电子商务网站建设的开发方案宁波网站推广优化哪家正规
  • 做图片格式跟尺度用哪个网站好网页设计制作网站教程
  • 泰州哪家做网站建设比较好做个公司网站大概多少钱
  • 网站建设成交话术网页设计费用报价
  • 如何在12366网站上做实名认证最新热搜新闻事件
  • 慈溪网站开发网络营销流程
  • 海口建站软件seo服务内容
  • www开头网站怎么做太原seo关键词排名优化
  • 东莞气缸东莞网站建设专业关键词排名软件
  • 最佳配色网站中国十大电商培训机构
  • 网站备案 如何填哪有免费的网站
  • 威海做网站的公司有哪些情感式软文广告
  • 找工程项目信息网站湖南企业竞价优化服务
  • 电子商务网站有哪些类型广告公司营销策划方案
  • 网站改版 删除栏目有趣的软文
  • 枣庄网站制作公司济南优化网站的哪家好