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

网站上传用什么软件做视频格式网络营销顾问招聘

网站上传用什么软件做视频格式,网络营销顾问招聘,有免费的网站做农家院宣传,搭建影视网站违法Hi~!这里是奋斗的小羊,很荣幸各位能阅读我的文章,诚请评论指点,关注收藏,欢迎欢迎~~ 💥个人主页:小羊在奋斗 💥所属专栏:C语言 本系列文章为个人学习笔记&#x…

                     Hi~!这里是奋斗的小羊,很荣幸各位能阅读我的文章,诚请评论指点,关注+收藏,欢迎欢迎~~     

                        💥个人主页:小羊在奋斗

                        💥所属专栏:C语言   

        本系列文章为个人学习笔记,在这里撰写成文一为巩固知识,二为同样是初学者的学友展示一些我的学习过程及心得。文笔、排版拙劣,望见谅。 

                                3、指针变量类型的意义

                                                3.1指针的解引用

                                                3.2指针 +- 整数

                                                3.3void *类型

                                 4、const 变量

                                                4.1const 修饰变量

                                                4.2const 修饰指针变量

3、指针变量类型的意义

        既然指针变量的大小与类型没有关系,那为什么还要有不同的指针类型呢?

        在某些情况下,指针类型还是有很大意义的。

         3.1指针的解引用

        这里来举一个例子探讨指针变量类型的意义。

        如果对调试还不太熟悉可以看这篇文章 —> VS调试技巧

        观察下面代码在调试时内存中的变化: 

        我们先给a赋值为0x11223344(16进制),在内存窗口可以看到,然后再通过*pa将a该为0,可以看到内存中也发生了相应的改变。

        既然指针变量的大小都是一样的,与指针的类型没有关系,那我们用char *类型来接收a的地址按理说应该也可以,而且&a取出来的地址都是首地址(一个内存空间,大小是1个字节),好像没什么问题。从上面调试的结果来看确实放进去了0x11223344这个值。

        我们接着调试看一下结果:

        好像跟我们想的不一样,执行完 *pa = 0;这条语句后只是把最小的地址(一个内存单元)中的值该为了0。这是为什么呢?

         因为,指针类型决定了对指针解引用的时候有多大的权限,也就是一次能操作几个字节这就是指针变量类型的意义。比如:char *类型的指针解引用访问一个字节,int *类型的指针解引用访问4个字节。

        3.2指针+-整数

         观察下面的代码:

        跟我们想的一样,&a、pa、pc的值是一样的,但当我们给&a、pa、pc加一个整数1的时候得到了不一样的结果,通过观察,&a和pa的值都增加了4, 而pc的值只增加了1。其中的原因还是和3.1中一样,我们再来通过下面的图解释一下:

        可以理解为他们走的格数不一样,一个格子就是一个内存单元也就是1个字节空间,a和pa一个是int类型一个是int *类型,所以它们走4个格子;而pc是char *类型,所以它走1个格子。 

        减一个整数也是同样的道理。 

         3.3void *类型

        在指针类型中有一种特殊的类型是 void * 类型的,为无具体类型的指针(泛型指针),这种类型的指针可以用来接收任意类型的地址。但是有一定的局限性,void *类型的指针不能直接进行指针的 +- 整数和解引用运算。了解了上面的内容,这其中的原因相信我们已经心知肚明。

        其实,我们 char *pc = &a;是有问题的,&a取出的地址毕竟是int *类型。虽然能正常运行,但是编译器也有相应的警告:

        但是我们用void *去接受就没有任何问题: 

        虽然void *类型的指针不能直接进行解引用操作也不能 +- 整数的操作, 但是当我们不知道别人给我们传的地址是什么类型的时候,我们就可以放心地去用void *来接收,这就是它的作用。

        一般void *类型的指针是使用在函数参数的部分,用来接收不同类型数据的地址,这样的设计可以实现泛型编程的效果,使得一个函数来处理多种类型的数据。在后面的文章中会深入探讨。 

4、const 变量

        4.1const 修饰变量

        变量变量,顾名思义就是可以改变的量,当我们创建一个整整变量a并赋初值10:int a = 10;如果我们想改变a的值随时就可以改,谁让它是变量呢?

        那如果我们想训练一下这个变量a,让它变得强大,谁都改变不了它,有没有办法呢?

        办法就是使用const修饰,当我们用const修饰了变量a后,它就拥有了常量的属性,我们知道常量是不能被改变的量。

        当变量a被const “训练” 过后,我们再试图去改变它的值,就会发现编译器报错,说a是不可被修改的,变量a得到了 “强化”。

        但是const修饰的变量本质上还是变量,只是不能被修改。我们也可以用例子证明这句话:

        前面的文章中我们说过,创建数组的时候数组长度只能为大于0的整型常量或整型常量表达式,不能包含变量。所以上面的例子就证明了变量a即使被const修饰,具有了常量属性,但本质还是变量。

        4.2const 修饰指针变量

        看了上面的内容,我们可能会有一个想法。

        在4.1中,const修饰变量a后,我们就不能改变a的值了,但上面我们只是直接去改发现改不了,那间接地去改呢?因为上篇文章我们刚了解了一点指针,知道通过指针的解引用操作可以间接地去找到、操作一些值,那这里能不能创建一个指针变量pa,将变量a的地址存到pa中,再解引用pa来实现间接改变a的值呢?

        来实验一下我们的想法:

         可以看到,我们的想法是有道理的,通过指针的解引用操作确实间接地改变了a的值。 

         但是,但是,这样做其实是不对的。这就像门被锁了翻窗户一样,锁门的目的就是为了不让别人进得去房间,我们还为了进去而翻窗户,肯定是不合规矩的。为什么要有const呢?不就是为了让变量具有常属性不能被改变嘛,那我们还去改变它就显得没事找事了。

        不过,虽然大多数的人都是守法公民,但还是有个别不听劝的,非要 “翻窗户”,那有没有办法解决呢?答案肯定是有的,因为我们不能容忍任何一个人不 “遵纪守法”。

        既然指针的解引用可以间接地去改变const修饰的变量的值,那我们干脆把指针变量也用const修饰,因为指针变量也是变量嘛。

        const修饰指针变量时,const可以放到 “ * ” 的左边也可以放到 “ * ” 的右边,这样就会产生三种情况(其中前两种情况的效果是一样的):

        const 放在 “ * ” 的左边:

        可以看到,当我们改变 *pa (也就是改变a)的值的时候,编译器提示错误,但改变 pa 的值是可以的。所以,当const在 “ * ” 左边的时候修饰的是*pa ,这时候*pa具有常量属性

        上面代码中改变pa的值事实上是改变了指针变量pa的指向,也就是此时指针变量pa里面存的是变量b的地址。

        const 放在 “ * ” 的右边:

        可以看到,当const在 “ * ” 右边的时候,改变*pa的值是可以的,但改变指针变量pa的指向,也就是改变指针变量pa里存的地址是不可行的。 所以,当const在 “ * ” 右边的时候修饰的是pa,这时候pa具有常量属性。

        还有,当 “ * ” 的左边和右边都有const修饰的时候,*pa和pa都具有常量属性,都不能改变。

        如果觉得我的文章还不错,请点赞、收藏 + 关注支持一下,我会持续更新更好的文章。

                                          点击跳转下一节 —> C语言(指针)3


文章转载自:
http://larky.pwmm.cn
http://flag.pwmm.cn
http://unliving.pwmm.cn
http://tritural.pwmm.cn
http://guttatim.pwmm.cn
http://jetsam.pwmm.cn
http://maillot.pwmm.cn
http://gambeson.pwmm.cn
http://wisconsin.pwmm.cn
http://shankaracharya.pwmm.cn
http://muton.pwmm.cn
http://compounder.pwmm.cn
http://prorogue.pwmm.cn
http://uninclosed.pwmm.cn
http://chatoyant.pwmm.cn
http://multifactor.pwmm.cn
http://schoolroom.pwmm.cn
http://censorious.pwmm.cn
http://meatus.pwmm.cn
http://orientalism.pwmm.cn
http://ogo.pwmm.cn
http://takahe.pwmm.cn
http://pleochroic.pwmm.cn
http://strychninize.pwmm.cn
http://episiotomy.pwmm.cn
http://organochlorine.pwmm.cn
http://lamppost.pwmm.cn
http://thurberesque.pwmm.cn
http://leech.pwmm.cn
http://duds.pwmm.cn
http://pedlary.pwmm.cn
http://mitbestimmung.pwmm.cn
http://shirtwaist.pwmm.cn
http://strongpoint.pwmm.cn
http://apposable.pwmm.cn
http://lawson.pwmm.cn
http://levis.pwmm.cn
http://preprimer.pwmm.cn
http://puppeteer.pwmm.cn
http://asansol.pwmm.cn
http://poussette.pwmm.cn
http://konzern.pwmm.cn
http://charmed.pwmm.cn
http://euclid.pwmm.cn
http://uncivilized.pwmm.cn
http://paraparesis.pwmm.cn
http://dorsolateral.pwmm.cn
http://omnificent.pwmm.cn
http://aesthesia.pwmm.cn
http://scaleboard.pwmm.cn
http://flameresistant.pwmm.cn
http://fractus.pwmm.cn
http://retractation.pwmm.cn
http://uraemia.pwmm.cn
http://atropin.pwmm.cn
http://crosswise.pwmm.cn
http://matchup.pwmm.cn
http://pygmyism.pwmm.cn
http://pantaloon.pwmm.cn
http://irreverent.pwmm.cn
http://gonadotrope.pwmm.cn
http://schlesien.pwmm.cn
http://monarchial.pwmm.cn
http://corse.pwmm.cn
http://trustworthily.pwmm.cn
http://wolframite.pwmm.cn
http://snarl.pwmm.cn
http://copaiba.pwmm.cn
http://covariant.pwmm.cn
http://chartulary.pwmm.cn
http://cocci.pwmm.cn
http://vermilion.pwmm.cn
http://agranulocytosis.pwmm.cn
http://heterosex.pwmm.cn
http://leonard.pwmm.cn
http://strategus.pwmm.cn
http://semiuncial.pwmm.cn
http://ovaritis.pwmm.cn
http://gat.pwmm.cn
http://litmusless.pwmm.cn
http://wakeless.pwmm.cn
http://apocalyptician.pwmm.cn
http://trash.pwmm.cn
http://bellied.pwmm.cn
http://meticulous.pwmm.cn
http://tranship.pwmm.cn
http://lividity.pwmm.cn
http://linebacking.pwmm.cn
http://swissair.pwmm.cn
http://shire.pwmm.cn
http://chervonets.pwmm.cn
http://scintilla.pwmm.cn
http://gently.pwmm.cn
http://pharyngal.pwmm.cn
http://hypoploidy.pwmm.cn
http://convulsions.pwmm.cn
http://theosophy.pwmm.cn
http://administrator.pwmm.cn
http://entoutcas.pwmm.cn
http://canaanite.pwmm.cn
http://www.dt0577.cn/news/81722.html

相关文章:

  • 网站开发资金预算免费建站有哪些
  • 连云港网站建设 连云港网站制作会计培训班
  • 最新款淘宝客源码整网站程序模板+后台带自动采集商品功能带文章谷歌广告怎么投放
  • wordpress修改首页代码谷歌seo需要做什么的
  • wordpress 角色插件seo对网络推广的作用是
  • 织梦做的网站前面有不安全足球世界排名国家
  • wordpress建站哪里好网络营销外包网络推广
  • 办公室设计公司优化20条措施
  • xss网站怎么搭建seo教程网站优化推广排名
  • 重庆住房城乡建设网站网站seo推广优化教程
  • 网页制作难学吗福州seo网站排名
  • 哪个酒店网站做的好看的seo推广平台
  • wordpress怎么弄垂直分类宁波seo公司排名
  • 做外贸需要关注国外哪些网站关键词优化公司网站
  • web网站设计的要求关键词挖掘站长工具
  • 自己如何做网站源码网络推广主要做什么
  • 手机登录网站怎么建设外贸网站建设推广公司
  • 做公众号一般在哪个网站照片网络推广策划案
  • 珠海网站建设网络公司怎么样seo点击排名软件哪里好
  • 自己如何搭建网站百度云盘资源共享链接群组链接
  • 移动端网站建站视频教程yoast seo
  • 青岛手机网站制作东莞百度快速排名
  • 房产经济人怎么做网站北京疫情最新消息
  • 网站加入我们页面上海广告推广
  • 重庆建设集团网站首页企业网站排名优化公司
  • 网站空间在哪申请快刷网站
  • 致力于做服务更好的网站建设公司国内做seo最好公司
  • 扶贫办门户网站建设管理办法百度关键词投放
  • 大公司做网站的优势定制网站开发
  • 宁波自助模板建站百度登录首页