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

黄埔做网站公司网站 解决负载

黄埔做网站公司,网站 解决负载,软件开发与程序设计有什么不同,wordpress怎样禁止采集前言#xff1a;小伙伴们又见面啦#xff01;本期内容#xff0c;博主将展开讲解有关C语言中指针的上半部分基础知识#xff0c;一起学习起来叭#xff01;#xff01;#xff01; 目录 一.什么是指针 二.指针类型 1.指针的解引用 2.指针-整数 三.野指针 1.野指针…前言小伙伴们又见面啦本期内容博主将展开讲解有关C语言中指针的上半部分基础知识一起学习起来叭 目录 一.什么是指针 二.指针类型 1.指针的解引用 2.指针-整数 三.野指针 1.野指针成因 1指针未初始化 2指针越界访问 2.如何规避野指针 四.总结 一.什么是指针 指针是内存中一个最小单元的编号也就是地址。我们平时所说到的指针一般都是指针变量是用来存放内存地址的变量。 所以说指针实际上是一个地址而存放在指针中的值都会被当成地址处理。 这里有一个小知识点指针在32位平台上占4个字节在64位平台上则占8个字节。具体内容相对复杂我们这里不做讲述。 还有一点要注意一个指针虽然占有四个字节但是它存储的地址仅仅为一个字节也就是这四个字节的头头。 二.指针类型 我们知道定义一个指针变量就跟定义一个普通的变量一样可以有不同的类型。 那我们又知道不同类型的变量又会占有不同的内存大小。 那么不同类型的指针也会占有不同的内存大小吗  #includestdio.h int main() {printf(%d\n, sizeof(int*));printf(%d\n, sizeof(char*));printf(%d\n, sizeof(short*));printf(%d\n, sizeof(double*));return 0; } 我们知道sizeof是一个计算内存大小的关键字我们用它来测试一下结果如下 令人出乎意料不同类型的指针变量占用的内存大小竟然都相同为什么呢 事实上我们定义不同类型的指针只是为了用这个指针来存放这种类型的变量的地址。 例如我们定义char*类型的指针只是为了存放char类型变量的地址。 那既然并不会影响指针的内存大小定义这么多类型的指针又有什么意义呢 1.指针的解引用 什么是指针的解引用呢 当我们用指针变量通过地址来访问或者修改一个变量的值就叫解引用。 #includestdio.h int main() {int n 0x11223344;int* p n;*p 0;return 0; } 假如我们初始化变量n的内存大小为0x11223344然后我们用int型的指针变量来解引用将其值改为0我们来看它的内存怎么变化 可以看出n的四个字节的内存大小都变为了0。 #includestdio.h int main() {int n 0x11223344;char* p n;*p 0;return 0; } 同样的方式这次我们换成char型的指针变量又会是什么结果呢 可以很轻易的看出char型的指针变量仅仅让n的一个字节的内存大小变为了0。 这便是指针类型的意义 指针类型决定了指针进行解引用操作的时候访问几个字节。 2.指针-整数 #includestdio.h int main() {int n 5;int* p1 n;char* p2 n;printf(p1 %p\n, p1);printf(p1 1 %p\n, p1 1);printf(p2 %p\n, p2);printf(p2 1 %p\n, p1 1);return 0; } 看这段代码int型的指针变量p1和char型的指针变量p2的内存地址是什么结果 p1和p2两个指针分别 1之后又会是什么结果呢 能够看出两个指针变量是可以同时访问一个变量的地址的。 p11的后的内存跳过了4个字节而p21后的内存地址仅仅之跳过了1个字节。 这也是指针类型的意义 指针类型决定了指针进行-操作的时候跳过几个字节。 三.野指针 所谓野指针也就是说指针指向的位置是不可知的随机的不正确的没有明确限制的。 1.野指针成因 1指针未初始化 int *p; *p 10; 这样的解引用方式直接就是错误的在VS环境下直接就会报错 2指针越界访问 #includestdio.h int main() {int arr[10] { 0 };int* p arr;int i 0;for (i 0; i 10; i){*p 1;p;}return 0; } 假如我们想用一个指针来改变数组中的每一个值但是却不小心超过了数组的大小这样就造成了越界访问出现了错误。 指针指向的地址超过了数组的范围就变成了野指针。 2.如何规避野指针 指针要初始化小心指针越界指针指向的空间释放及时置NULL避免返回局部变量的地址指针使用之前检查有效性 这里要注意一点如果我们非要定义一个未知指向的指针就要将其置NULL也就是置0。 当指针置NULL时也相当于是存了一个空地址不能对这个地址直接进行操作。 想要操作此指针就必须让它指向其他已知的地址。 四.总结 以上就是有关C语言基础——指针的上半部分的内容啦稍后博主将更新指针下一起期待一下叭 喜欢博主文章的小伙伴们不要忘记一键三连哦 我们下期再见
http://www.sczhlp.com/news/198847/

相关文章:

  • 网站开发培训收费广州seo团队
  • 上海工程建设招投标网站建筑工程培训网
  • OI 生涯回忆录
  • libaom 在ubuntu 上用鸿蒙OHOS编译
  • Aexlet-VGG2
  • 《膜拜!适合新手入门的卷积神经网络原理详解教程》读书报告
  • 佛山网站推广建设建设银行网站电脑上不去
  • 能盈利的网站做视频网站需要多大的带宽
  • 大学网站群建设方案wordpress 设置404
  • 做庭院景观的那个网站推广好游戏网站制作教程
  • 五合一自助建站网站怎么做二级网站
  • 电脑自带的做网站叫什么网站建设在哪学
  • 做网站域名解析免费小程序模板
  • 如何建设酒店预订系统网站开发公司网签撤回
  • 商业十大网站漯河网站建设价格
  • 有手机网站了还要微网站吗福建建设厅网站
  • 云虚拟主机和网站建设wordpress后台汉语
  • 网站后台地址忘了成都公司注册核名
  • 网站建设维护知识网站备案和实名认证
  • 站长权重php网站开发工程师职责
  • 郑州网站建设出名吗?热搜榜百度一下你就知道
  • 湖州站内优化seo公司杭州网站建设q479185700惠
  • 网站建设方案策划书WordPress数据库搬迁
  • 为什么什么网站都在维护网站友情链接检测
  • 建站教程下载北京市朝阳区网站开发公司电话
  • 网站支付怎么做安全吗电脑编程培训学校哪家好
  • 电子商城网站建站客网页类型分类7种
  • 杭州外贸网站建设公司价格个性网页设计
  • 贵州省建设网站wordpress布局调整
  • 河源建设局网站成品短视频软件推荐下载免费