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

建设网站的企业是什么如何制作一个收费的网页

建设网站的企业是什么,如何制作一个收费的网页,ui设计培训机构有用吗,网络营销有什么岗位目录 1. 指针变量为什么要有类型#xff1f; 2. 野指针 2.1 未初始化导致的野指针 2.2 指针越界导致的野指针 2.3 如何规避野指针 3. 指针运算 3.1 指针加减整数 3.2 指针减指针 3.3 指针的关系运算 4. 二级指针 5. 指针数组 5.1 如何使用指针数组模拟二维数组 上…  目录 1. 指针变量为什么要有类型 2. 野指针 2.1 未初始化导致的野指针 2.2 指针越界导致的野指针 2.3 如何规避野指针  3. 指针运算 3.1 指针加减整数 3.2 指针减指针 3.3 指针的关系运算 4. 二级指针 5. 指针数组 5.1 如何使用指针数组模拟二维数组 上一期已经解释了指针和指针变量的区别以及含义这一期我们来具体了解一下指针到底有什么作用。 1. 指针变量为什么要有类型 我们知道指针变量的大小是根据所在平台决定的若平台是32位即x86环境则指针变量是4个字节若平台是64位则指针变量是8个字节。既然指针变量不会根据指针类型变化那么我们为什么要区分指针变量的类型呢换句话说char* 和 int* 都有能力存储4个字节的地址为什么不统一成一个自定义的指针变量例如ptr* 从上图可以得知我们把int*类型的地址强行赋给char*类型的地址再进行取值调用的时候会根据char*来进行赋值以至于只会将一个字节赋值成0若是正常使用int*来接收那么四个字节都是0 如下图所示。 由下图可知虽然不同指针变量的存储类型不影响地址的存储但是当直接对地址进行运算还是会根据指针类型的不同进行运算。char*类型1跳过1个字节int*类型1跳过4个字节。 所以我们会得到这样的结论指针变量的类型在存取地址的时候可有可无在修改地址指向的内容的时候是非常有必要的它决定了在利用地址更改值的时候需要更改多少个字节若直接对地址进行运算那么会根据指针变量的类型‘1’这个‘1’可能是char类型的一个字节也可能是int类型的四个字节。  使用float*和int*的时候无论是访问内存还是使用内存都是4个字节那么可不可以混用呢 答案是不可以。 下图是整型解引用赋值整型我们可以看到100以16进制存入内存。 我们把100.0存入内存发现内存存的数据发生了变化 虽然都是100但是浮点数存入内存的方式是不同的。 2. 野指针 指针指向的内存没有初始化或者已经被销毁此时的指针称为野指针。 2.1 未初始化导致的野指针 2.2 指针越界导致的野指针 2.3 如何规避野指针  ①指针初始化。 ②指针小心越界。 ③指针指向的空间置为NULL。NULL是0类型是void*如果取值的话一定会报错默认0地址不能访问所以我们可以先判断这个指针如果不是NULL再进行取值。 ④避免返回局部变量的地址因为局部变量已经被销毁了(没有那块内存空间的使用权限了)。 ⑤指针使用之前检查有效性。 3. 指针运算 3.1 指针加减整数 这里的values[N_VALUES]并不算下标越界因为并没有使用这段内存只是用了一下这个地址作为判断条件。 3.2 指针减指针 当同类型的地址减去同类型的另外一个地址得出的结果的绝对值是两个地址之间的元素个数。 需要注意的是两个指针指向的必须是同一块内存不然毫无意义。 那么有同学会想指针指针得到的结果是什么呢这个结果毫无意义类似于你可以把日期相减得到天数但是你不能把日期相加这样就毫无意义。 3.3 指针的关系运算 其实就是地址之间的比较判断两个地址谁大谁小从而对地址指向的内容进行操作。 4. 二级指针 简单描述一下就是指针变量里面存的地址这个地址是一个指针的地址。乍一听是不是以为在说绕口令呢下面用一张图来进行诠释。 上图中表示int * pa a我们可以这么理解*号表明pa的类型是一个指针类型int表明这个指针类型指向的是int类型那么我们是不是可以来理解一下二级指针。 int* *ppa pa;还是将类型拆开距离ppa最近的*表明ppa是一个指针int* 表明ppa指向的类型是int*的类型。 总结二级指针是用来存放一级指针变量的地址。 5. 指针数组 主语是数组即存放指针的数组就是指针数组。 5.1 如何使用指针数组模拟二维数组 首先构造出三个一维数组所谓二维数组就是将这三个一维数组连起来我们构造一个指针数组分别存入之前构造的一维数组名在之前的帖子说明一维数组名是数组的第一个元素的地址所以分别存入了三个地址我们需要遍历指针数组得到三个一维数组的首地址再引入一个变量j根据指针加减法就可以访问一维数组中除了第一个元素的其他元素的地址最后解引用就可以得到最后的结果。 #include stdlib.hint main() {int arr1[4] {1,2,3,4};int arr2[4] {2,4,6,8};int arr3[4] {3,6,9,12}; // 用一维数组模拟出二维数组的效果int* arr_sum[3] {arr1,arr2,arr3};for(int i 0;i 3;i){for(int j 0;j 4;j){printf(%d ,*(arr_sum[i] j));}printf(\n);}return(0); }
http://www.zqtcl.cn/news/775572/

相关文章:

  • 赤峰网站建设培训建筑资格证书查询官网
  • 共和县公司网站建设seo网络推广招聘
  • 网站怎样做外链百度网站地图提交
  • 瑞安联科网站建设中国做网站公司排名
  • jsp网站开发详解 赵增敏jsp网站首页怎么做
  • 有哪些可以做图的网站啊莱芜金点子广告电子版2024
  • 免费营销型网站模版南宁比较有好的网站制作公司
  • 做外贸上什么网站什么什么设计英文网站
  • 嘿客免费网站建设网站对联图片
  • 一件代发48个货源网站韶关最新消息
  • 网站都需要备案吗安徽建设通网站
  • 外包公司 网站建设 深圳电子商务公司设计网站建设
  • 怎么添加网站背景音乐定制建站
  • 西安网站建设和推广公司php企业网站开发实训报告
  • 市网站制作番禺绿叶居
  • 网站漂浮物怎么做电子商务网站开发实训体会
  • 电商网站建设定制济南网站建设及推广
  • 网站标签化wordpress 输出评论内容 函数
  • 明星个人网站设计汕头网络推广公司
  • 深圳有哪些做网站公司好武夷山建设局网站
  • 怎么设立网站赚广告费一个网站可以做多少关键字
  • 网站刚建好怎么做能让百度收录成都定制网站建
  • thinkphp网站开发技术做电脑租赁网站
  • 网站设计评语中午版wordpress
  • 邢台企业手机网站建设汕头网站制作后缀
  • 微网站后台内容设置做网站语言排名2018
  • 嘉兴网站制作网站建设外贸营销推广平台有哪些
  • 网站开发集广州高端网站定制开发价格
  • 网站开发培训成都网站建设 报价单 doc
  • 苏州哪里有做淘宝网站的WordPress模板博客主题