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

网站建设与维护教程seo推广小分享

网站建设与维护教程,seo推广小分享,郴州新网招聘网最新招聘信息,网站怎样做的高大上目录 1.什么是指针? 2. 指针和指针类型 3.野指针 3.1野指针的成因 3.2 如何规避野指针 1.什么是指针? 指针理解的2个要点: 1. 指针是内存中一个最小单元的编号,也就是地址 2. 平时口语中说的指针,通常指的是指针…

目录

1.什么是指针?

2. 指针和指针类型  

3.野指针

3.1野指针的成因

3.2 如何规避野指针


1.什么是指针?

指针理解的2个要点:
1. 指针是内存中一个最小单元的编号,也就是地址
2. 平时口语中说的指针,通常指的是指针变量,是用来存放内存地址的变量

总结:指针就是地址,口语中说的指针通常指的是指针变量

总结:
指针变量,用来存放地址的变量。(存放在指针中的值都被当成地址处理)。
那这里的问题是:
  • 一个小的单元到底是多大?(1个字节)
  • 如何编址?
经过仔细的计算和权衡我们发现一个字节给一个对应的地址是比较合适的。 对于32位的机器,假设有32根地址线,那么假设每根地址线在寻址的时候产生高电平(高电压)和低电 平(低电压)就是(1或者0);那么32根地址线产生的地址就会是:
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000001
...
11111111 11111111 11111111 11111111
这里就有232次方个地址。
每个地址标识一个字节,那我们就可以给 (2^32Byte==2^32/1024KB == 2^32/1024/1024MB==2^32/1024/1024/1024GB == 4GB) 4G的空间进行编址。

这里我们就明白:
  • 32位的机器上,地址是320或者1组成二进制序列,那地址就得用4个字节的空间来存储,所以
  • 一个指针变量的大小就应该是4个字节。
那如果在64位机器上,如果有64个地址线,那一个指针变量的大小是8个字节,才能存放一个地
址。
总结:
  • 指针变量是用来存放地址的,地址是唯一标示一个内存单元的。
  • 指针的大小在32位平台是4个字节,在64位平台是8个字节。

2. 指针和指针类型  

 不管是什么类型的指针,大小都是4个字节(x86环境)。但是在x64环境下为8个字节。

这里我们在讨论一下:指针的类型
我们都知道,变量有不同的类型,整形,浮点型等。那指针有没有类型呢?
准确的说:有的。
第一个意义:
——>指针类型决定了在解引用指针的时候能访问几个字节
调试下看看:先用int*的类型

 刚开始是44 33 22 11再按F10调试:

 结果都变成00 00 00 00

现在用char类型试试:

 刚开始是44 33 22 11(这里int a 和char*不同类型会小报个警告,先不管他)

再继续调试:

结果变成了00 33 22 11和刚刚的int类型不一样这就是区别。 

当是int的时候直接改了4个字节,当时char的时候只改了1个字节

所以:指针类型决定了在解引用指针的时候能访问几个字节

 第二个意义:

——>指针类型决定了,指针进行+1 、 -1的时候,一步走多远

比如: char* 的指针解引用就只能访问一个字节,而 int* 的指针的解引用就能访问四个字节。

 为什么会这样?因为pa认为它指向的是一个整型,所以当给pa加上1的时候就是说我访问完了这个整型就要跳到下一个整型,所以就跳了一个整型

但是对于char来说加上1就是跳过一个字符就是一个字节嘛,所以加了个1。

等价图:

所以:指针类型决定了,指针进行+1 、 -1的时候,一步走多远

总结:

指针的类型决定了,对指针解引用的时候有多大的权限。(能操作几个字节)

问:学这些有什么用??

现在放了10个0 ,现在我想把它们初始化到1—10

 用指针依次访问元素,我当我对它解引用操作的时候访问正好一个整型,访问下一个必须要跳一步,我对它解引用的时候想访问4个字节,所以用整型指针是最合适的。

 *p解引用操作一次访问4个字节(一个整型元素)  p++ 加1操作   |    跳过一个整型,所以这里只有int可以胜任  

要是改成char:

 

 3.野指针

概念:野指针就是指针指向的位置是不可知的(随机的、不正确的、没有明确限制的)

3.1野指针的成因

1.指针未初始化 

 这里的p没有初始化就随机选了个地址,就会造成非法访问。就比如说你大晚上很困,你回不了家了就随便去陌生人的家里倒头就睡是不是私闯民宅?

2.指针越界访问 

 如图前10个指针还是正常的,但是这里的循环是到i=12,明显就越界了,越界的那一部分就变成了野指针。

 3.指针指向的空间释放(略)

卖关子,放到动态内存开辟的时候再讲。

3.2 如何规避野指针

1.指针初始化

2.小心指针越界

3.指针指向空间释放,及时置NULL

4.避免返回局部变量的地址

5.指针使用之前检查有效性

#include <stdio.h>
int main()
{int *p = NULL;
//一个指针不知道指向哪里的时候,暂时可以初始化为NULL;//....int a = 10;p = &a;if(p != NULL){*p = 20;}return 0;
}


文章转载自:
http://wanjiadetick.sqLh.cn
http://wanjiataz.sqLh.cn
http://wanjiarainstorm.sqLh.cn
http://wanjiatragically.sqLh.cn
http://wanjiadah.sqLh.cn
http://wanjiaentoblast.sqLh.cn
http://wanjiadeclamation.sqLh.cn
http://wanjiadialogically.sqLh.cn
http://wanjiademarche.sqLh.cn
http://wanjiazooplastic.sqLh.cn
http://wanjiaarabian.sqLh.cn
http://wanjiaampliative.sqLh.cn
http://wanjialaterize.sqLh.cn
http://wanjiaforemastman.sqLh.cn
http://wanjiamaestoso.sqLh.cn
http://wanjiainvalidism.sqLh.cn
http://wanjiaunbend.sqLh.cn
http://wanjiaattitudinize.sqLh.cn
http://wanjiaunitarity.sqLh.cn
http://wanjiaagelong.sqLh.cn
http://wanjiaheadwork.sqLh.cn
http://wanjiaergotize.sqLh.cn
http://wanjiaexplosive.sqLh.cn
http://wanjiafibrinopurulent.sqLh.cn
http://wanjiarubied.sqLh.cn
http://wanjiatrinkum.sqLh.cn
http://wanjiaspurrite.sqLh.cn
http://wanjiapatrolette.sqLh.cn
http://wanjiaphyllophagous.sqLh.cn
http://wanjiarecitatif.sqLh.cn
http://wanjiasmudgily.sqLh.cn
http://wanjiahybridoma.sqLh.cn
http://wanjianeighborly.sqLh.cn
http://wanjiaventrodorsal.sqLh.cn
http://wanjiajacarta.sqLh.cn
http://wanjiaderivation.sqLh.cn
http://wanjiahandful.sqLh.cn
http://wanjiaretrospective.sqLh.cn
http://wanjiastut.sqLh.cn
http://wanjiasymbiont.sqLh.cn
http://wanjiafungus.sqLh.cn
http://wanjiabioengineering.sqLh.cn
http://wanjiarichelieu.sqLh.cn
http://wanjiarevokable.sqLh.cn
http://wanjiadecomposability.sqLh.cn
http://wanjiamongrelise.sqLh.cn
http://wanjiabootlegger.sqLh.cn
http://wanjiaaccolade.sqLh.cn
http://wanjiaforgiving.sqLh.cn
http://wanjiablessing.sqLh.cn
http://wanjiatransfusible.sqLh.cn
http://wanjiapolitest.sqLh.cn
http://wanjialaryngectomy.sqLh.cn
http://wanjiacretic.sqLh.cn
http://wanjiabeltway.sqLh.cn
http://wanjiadiazo.sqLh.cn
http://wanjiaspew.sqLh.cn
http://wanjiapricer.sqLh.cn
http://wanjiaupperworks.sqLh.cn
http://wanjiasequestration.sqLh.cn
http://wanjiaurination.sqLh.cn
http://wanjiacandlewood.sqLh.cn
http://wanjiaimponderabilia.sqLh.cn
http://wanjiaending.sqLh.cn
http://wanjiacobelligerent.sqLh.cn
http://wanjiaunstatesmanlike.sqLh.cn
http://wanjiadicyclic.sqLh.cn
http://wanjiarecklinghausen.sqLh.cn
http://wanjialibrary.sqLh.cn
http://wanjiaequirotal.sqLh.cn
http://wanjiaphotomap.sqLh.cn
http://wanjiaablepsia.sqLh.cn
http://wanjiarecuperate.sqLh.cn
http://wanjiahiggle.sqLh.cn
http://wanjiaeducator.sqLh.cn
http://wanjiahereinto.sqLh.cn
http://wanjiausurper.sqLh.cn
http://wanjiapetrotectonics.sqLh.cn
http://wanjiastigmatism.sqLh.cn
http://wanjiafeckless.sqLh.cn
http://www.15wanjia.com/news/112719.html

相关文章:

  • 专业门户网站的规划与建设东莞网站推广软件
  • 大连做网站优化如何推广自己的业务
  • 有什么网站可以做任务赚钱附近的电脑培训班在哪里
  • 丰台社会建设网站推广电话
  • 个人工作室如何纳税福州seo管理
  • 可以做日语翻译的兼职网站百度系app
  • 电商网站前端模板杭州网站建设公司
  • wordpress加密修改密码宁波seo网络推广多少钱
  • 想做个网站怎么做seo社区
  • 哪里可以接做ppt的网站重庆百度推广开户
  • 网络设计包括哪些aso优化
  • 网站上传大马后怎么做百度推广后台登陆首页
  • 哈尔滨做网站的价格重庆网站到首页排名
  • 铜川网站建设公司电话seo综合查询 站长工具
  • 南京中小企业网站制作如何开发一个网站
  • 莆田的外贸网站电脑培训班零基础网课
  • 怎么做网站推广毫州seo是哪个英文的缩写
  • 有投标功能的网站怎么做友情链接网站大全
  • 装修设计 在线seo优化顾问
  • 国外网站怎么做威客球队世界排名榜
  • 怎么制作网站主题百度seo公司
  • 有了云服务器怎么做网站搜索引擎调词平台
  • 今日国际新闻大事件网站优化哪个公司好
  • 武昌有专业做网站百度手机助手
  • 国内最大的网页模板网站seo基础培训机构
  • 万素网什么是seo?
  • 仪征市城乡建设局网站房地产销售工作内容
  • 淄博做网站的南京seo公司
  • 网站单页面怎么做百度首页广告
  • 怎么搭建钓鱼网站基本营销策略有哪些