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

小团队兼职做网站手机网站建设软件有哪些内容

小团队兼职做网站,手机网站建设软件有哪些内容,卖设计图的网站,有趣的网站名称文章目录一、指针是什么❔二、指针和指针类型1.指针-整数2.指针解引用三.野指针1.引起野指针的原因2.如果避免野指针完结一、指针是什么❔ 指针也就是 内存地址 #xff0c;在计算机上我们访问数据需要通过内存地址来访问#xff0c;在C语言中#xff0c;指针变量是用来存放… 文章目录一、指针是什么❔二、指针和指针类型1.指针-整数2.指针解引用三.野指针1.引起野指针的原因2.如果避免野指针完结一、指针是什么❔ 指针也就是 内存地址 在计算机上我们访问数据需要通过内存地址来访问在C语言中指针变量是用来存放内存地址的变量在不同系统下指针内存地址的长度不同32位CPU下由于有32根地址线所以指针内存地址是由32个bit位组成的也就是4Byte在64位CPU下有64根地址线所以地址由64个bit位组成也就是8Byte指针指向的地址都是一个内存单元一个内存单元里面有1byte的数据。 创建第一个指针变量 #include stdio.hint a 8; //先创建一个变量此变量在内存中有自己的地址。 int *pa a; //符号取出a的地址交给pa指针*符号表示pa是指针类型 *pa 10; //我们可以通过*pa修改a的值没有*的话pa是a的地址*是解引用的意思加上之后pa代表的就不是a的地址而是a printf(%d,*pa); //10二、指针和指针类型 指针是用来存放地址的那么为什么还分为char* int* short* long*…….? 一般情况下char**类型的指针是为了存放char类型变量的地址int类型的指针是为了存放int类型的地址short类型的指针是为了存放short类型的地址…….但实际上指针的类型有一下两大作用 指针类型决定了指针进行±整数的时候±的步长字节指针类型决定了对指针进行解引用的时候能访问几个字节 1.指针±整数 代码示例: #include stdio.hint main() {int a 10;char* char_pa (char*)a;short* short_pa (short*)a;int* int_pa (int*)a;printf(%p\n,a); //00000071DCEFFC24 %p输出a的的地址printf(%p\n,char_pa); //00000071DCEFFC24 printf(%p\n,char_pa1); //00000071DCEFFC25 加了一个字节printf(%p\n,short_pa); //00000071DCEFFC24printf(%p\n,short_pa1); //00000071DCEFFC26 加了两个字节printf(%p\n,int_pa); //00000071DCEFFC24printf(%p\n,int_pa1); //00000071DCEFFC28 加了四个字节}​ 可以看到在地址1之前他们的地址都是与*a一样进行1之后char加了一个字节short加了两个字节int加了三个字节也就是说指针类型能决定指针±的时候可以±多少个字节±的字节由类型的长度决定。 2.指针解引用 代码示例 #include stdio.hint main() {int a 0x11223344;char *char_pa (char*)a;short *short_pa (short*)a;int *int_pa a;printf(%d\n,*char_pa);printf(%d\n,*short_pa);printf(%d\n,*int_pa);}输出结果 明明我们赋值的都是a那为什么会造成三个类型解引用都不一样呢,我们可以用下面代码测试一下看看内存发生了什么。 int main() {int a 0x11223344;char *char_pa (char*)a;*char_pa 0; }这是在a没有改动之前 执行*char_pa 0; a的一个字节被置为了0 int main() {int a 0x11223344;short *short_pa (short*)a;*short_pa 0; }执行*short_pa 0; a的两个字节被置为了0 int main() {int *int_pa a;*int_pa 0;return 0; }执行*int_pa 0; a的四个字节被置为了0 由此我们可以得出结论指针类型的第二大作用就是指针类型决定了对指针解引用时能访问或修改几个字节这由数据类型的大小决定 三.野指针 野指针会指向一段实际的内存但是野指针是指指针指向的位置是不可知的随机的不正确的没有初始化的没有明确限制的它指向哪里我们不知道或者说它指向的空间已经被我们释放那么他就是一个野指针在程序中我们必须要避免野指针的出现。 下面是容易出现野指针的场景 1.引起野指针的原因 1指针未初始化。 #include stdio.h int main() {int *p; //指针没有指向明确的地址那么将是随即地址也就是野指针*p 1; }2指针越界访问 #inlcude stdio.h int main() {int arr[10] {0}int *p arr;for(int i0;i13;i){*(p) 8; //当指针超出arr数组的范围时p就是野指针} }3指针指向的空间被释放 int main() {int *p malloc(10 * sizeof(int));free(p);*p 10; //指针p指向的内存空间已经被释放此时的p就是野指针return 0; }2.如果避免野指针 1指针初始化 2小心指针越界 3指针指向空间释放即使置NULL 4避免返回局部变量的地址 5指针使用之前检查有效性 int main() {int *p NULL; //使用之前初始化为NULLif(p!NULL){*p 10; //使用之前检查有效性 }int *pa malloc(10 * sizeof(int));//此处省略n行代码free(p);pa NULL; //指针用完之后及时置空。 }完结 创作不易还请各位小伙伴多多点赞关注✨收藏⭐
http://www.w-s-a.com/news/673625/

相关文章:

  • 网站维护服务公司上海兼职网站制作
  • 企业做网站需要多少钱湘潭九华网站
  • 嘉兴建站服务微营销官网
  • 比较好的网页模板网站浦项建设(中国)有限公司网站
  • 有趣的个人网站网页设计与制作的岗位职责
  • 有建设网站的软件吗长沙做网站的公司对比
  • 网站的外链接数中铝长城建设有限公司网站
  • 北京建设网站公司网站建设费用 无形资产
  • 适合seo的建站系统如何建立网页
  • 我想自己建立一个网站给大家分享个永久免费的云服务器
  • 怎样做网站和网站的友情链接官网优化 报价
  • 购买网站空间大小聊城网站空间公司
  • 做像美团淘宝平台网站多少钱开发网站企业
  • 网站建设前期费用二手购物网站策划书
  • dede学校网站百度联盟是什么
  • 献县网站建设网站开发专业定制
  • 龙华做网站yihe kj安徽六安彩礼一般给多少
  • flash网站建设公司我的小程序在哪里找
  • 建网站需要数据库吗如何制作简单的网页链接
  • 杭州设计企业网站高端公司上虞做网站公司
  • 做网站能赚钱么用wordpress搭建知名网站
  • 阿里云服务器网站开发青岛做网站找哪家
  • 凡科做的网站为什么打不开织梦cms仿某作文网站整站源码(带采集)安装数据库
  • 免费h5模板网站模板汽车报价网址
  • 蔡甸网站建设烟台网站建设yt
  • 最流行的网站开发新开的网页游戏平台
  • 暴富建站wordpress 标签分类
  • 搞笑网站源码百度快照替代
  • 重庆网站建设哪家公司哪家好关键词是怎么排名的
  • 青县网站建设今天国际大事新闻