践行新使命忠诚保大庆网站建设wordpress电影分享

web/2025/9/26 16:17:58/文章来源:
践行新使命忠诚保大庆网站建设,wordpress电影分享,免费找答案的网站,百度搜索推广优化师工作内容1. 指针是什么 2. 指针和指针类型 3. 野指针 4. 指针运算 5. 指针和数组 6. 二级指针 7. 指针数组 目录 1. 指针是什么#xff1f; 2. 指针和指针类型 2.1 指针-整数 2.2 指针的解引用 3. 野指针 3.1 野指针成因 3.2 如何规避野指针 4. 指针运算 4.1 指针… 1. 指针是什么 2. 指针和指针类型 3. 野指针 4. 指针运算 5. 指针和数组 6. 二级指针 7. 指针数组 目录 1. 指针是什么 2. 指针和指针类型 2.1 指针-整数 2.2 指针的解引用 3. 野指针 3.1 野指针成因 3.2 如何规避野指针 4. 指针运算 4.1 指针-整数 4.2 指针-指针 5. 指针和数组 6. 二级指针 7. 指针数组 1. 指针是什么 指针是什么 指针理解的 2 个要点 1. 指针是内存中一个最小单元的编号也就是地址 2. 平时口语中说的指针通常指的是指针变量是用来存放内存地址的变量 总结指针就是地址口语中说的指针通常指的是指针变量。 那我们就可以这样理解 内存 指针变量 我们可以通过 取地址操作符取出变量的内存其实地址把地址可以存放到一个变量中这个 变量就是指针变量 #include stdio.h int main() { int a 10;//在内存中开辟一块空间 int *p a;//这里我们对变量a取出它的地址可以使用操作符。//a变量占用4个字节的空间这里是将a的4个字节的第一个字节的地址存放在p变量 中p就是一个之指针变量。 return 0; } 总结 指针变量用来存放地址的变量。存放在指针中的值都被当成地址处理。 那这里的问题是 一个小的单元到底是多大1个字节 如何编址 经过仔细的计算和权衡我们发现一个字节给一个对应的地址是比较合适的。 对于 32 位的机器假设有 32 根地址线那么假设每根地址线在寻址的时候产生高电平高电压和低电平低电压就是1或者 0 那么 32 根地址线产生的地址就会是 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000001 ... 11111111  11111111   11111111   11111111 这里就有 2 的 32 次方个地址。 每个地址标识一个字节那我们就可以给 2^32Byte 2^32/1024KB 2^32/1024/1024MB2^32/1024/1024/1024GB 4GB 4G 的空闲进行编址。 同样的方法那 64 位机器如果给 64 根地址线那能编址多大空间自己计算。 这里我们就明白 在 32 位的机器上地址是 32 个 0 或者 1 组成二进制序列那地址就得用 4 个字节的空间来存储所以 一个指针变量的大小就应该是 4 个字节。 那如果在 64 位机器上如果有 64 个地址线那一个指针变量的大小是 8 个字节才能存放一个地 址。 总结 指针是用来存放地址的地址是唯一标示一块地址空间的。 指针的大小在 32 位平台是 4 个字节在 64 位平台是 8 个字节 。 2. 指针和指针类型 这里我们在讨论一下指针的类型 我们都知道变量有不同的类型整形浮点型等。那指针有没有类型呢 准确的说有的。 当有这样的代码 int num 10; p num; 要将numnum的地址保存到p中我们知道p就是一个指针变量那它的类型是怎样的呢 我们给指针变量相应的类型。 char         * pc NULL ; int             * pi NULL ; short       * ps NULL ; long          * pl NULL ; float         * pf NULL ; double    * pd NULL ; 这里可以看到指针的定义方式是 type * 。 其实 char* 类型的指针是为了存放 char 类型变量的地址。 short* 类型的指针是为了存放 short 类型变量的地址。 int* 类型的指针是为了存放 int 类型变量的地址。 那指针类型的意义是什么 2.1 指针-整数 #include stdio.h //演示实例 int main() { int n 10; char *pc (char*)n; int *pi n;printf(%p\n, n); printf(%p\n, pc); printf(%p\n, pc1); printf(%p\n, pi); printf(%p\n, pi1); return  0; } 总结 指针的类型决定了指针向前或者向后走一步有多大距离。 2.2 指针的解引用 //演示实例 #include stdio.h int main() { int n 0x11223344; char *pc (char *)n; int *pi n; *pc 0;   //重点在调试的过程中观察内存的变化。 *pi 0;   //重点在调试的过程中观察内存的变化。 return 0; } 总结 指针的类型决定了对指针解引用的时候有多大的权限能操作几个字节。 比如 char* 的指针解引用就只能访问一个字节而 int* 的指针的解引用就能访问四个字节。 3. 野指针 概念 野指针就是指针指向的位置是不可知的随机的、不正确的、没有明确限制的 3.1 野指针成因 1. 指针未初始化 #include stdio.h int main () {      int * p ; // 局部变量指针未初始化默认为随机值 * p 20 ;      return 0 ; } 2. 指针越界访问 #include stdio.h int main () { int arr [ 10 ] { 0 }; int * p arr ; int i 0 ; for ( i 0 ; i 11 ; i )   { // 当指针指向的范围超出数组 arr 的范围时 p 就是野指针 * ( p ) i ;   } return 0 ; } 3. 指针指向的空间释放 这里放在动态内存开辟的时候讲解这里可以简单提示一下。 3.2 如何规避野指针 1. 指针初始化 2. 小心指针越界 3. 指针指向空间释放即使置 NULL 4. 避免返回局部变量的地址 5. 指针使用之前检查有效性 #include stdio.h int main () { int * p NULL ; //.... int a 10 ; p a ; if ( p ! NULL )   { * p 20 ;   } return 0 ; } 4. 指针运算 指针 - 整数 指针 - 指针 指针的关系运算 4.1 指针-整数 #define N_VALUES 5 float values[N_VALUES]; float *vp; //指针-整数指针的关系运算 for (vp values[0]; vp values[N_VALUES];) {*vp 0; } 4.2 指针-指针 int my_strlen(char *s) {char *p s;while(*p ! \0 )p;return p-s; } 4.3 指针的关系运算 for ( vp values [ N_VALUES ]; vp values [ 0 ];) { *-- vp 0 ; } 代码简化 , 这将代码修改如下 for ( vp values [ N_VALUES - 1 ]; vp values [ 0 ]; vp -- ) { * vp 0 ; } 实际在绝大部分的编译器上是可以顺利完成任务的然而我们还是应该避免这样写因为标准并不保证它可行。 标准规定 允许指向数组元素的指针与指向数组最后一个元素后面的那个内存位置的指针比较但是不允许与 指向第一个元素之前的那个内存位置的指针进行比较。 5. 指针和数组 我们看一个例子 #include stdio.h int main() { int arr[10] {1,2,3,4,5,6,7,8,9,0};printf(%p\n, arr);printf(%p\n, arr[0]);return 0; } 运行结果 可见数组名和数组首元素的地址是一样的。 结论 数组名表示的是数组首元素的地址 。2种情况除外数组章节讲解了 那么这样写代码是可行的 int arr [ 10 ] { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 }; int * p arr ; //p 存放的是数组首元素的地址 既然可以把数组名当成地址存放到一个指针中我们使用指针来访问一个就成为可能。 例如 #include stdio.h int main() {int arr[] {1,2,3,4,5,6,7,8,9,0};int *p arr; //指针存放数组首元素的地址int sz sizeof(arr)/sizeof(arr[0]);for(i0; isz; i){printf(arr[%d] %p   p%d %p\n, i, arr[i], i, pi);}return 0; } 运行结果  所以 pi 其实计算的是数组 arr 下标为i的地址。 那我们就可以直接通过指针来访问数组。 如下 int main() { int arr[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 }; int *p arr; //指针存放数组首元素的地址 int sz sizeof(arr) / sizeof(arr[0]); int i 0; for (i 0; isz; i) { printf(%d , *(p i)); } return 0; } 6. 二级指针 指针变量也是变量是变量就有地址那指针变量的地址存放在哪里 这就是 二级指针 。 对于二级指针的运算有 *ppa 通过对 ppa 中的地址进行解引用这样找到的是 pa *ppa 其实访问的就是 pa . int b 20 ; * ppa b ; // 等价于 pa b; **ppa 先通过 *ppa 找到 pa , 然后对 pa 进行解引用操作 *pa 那找到的是 a . ** ppa 30 ; // 等价于 *pa 30; // 等价于 a 30; 7. 指针数组 指针数组是指针还是数组 答案是数组。是存放指针的数组。 数组我们已经知道整形数组字符数组。 int       arr1 [ 5 ]; char    arr2 [ 6 ]; 那指针数组是怎样的 int* arr3 [ 5 ];      // 是什么 arr3 是一个数组有五个元素每个元素是一个整形指针。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82277.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

专业企业网站建设报价腾讯云服务器12元一年

第一章 计算机网络概述 一,网络发展的形态 了解:当前网络的组成形态: 二,计算机网络的定义 掌握 网络的物理组成实体 网络的工作方式 网络组建的目的 三,通过网络定义 我们如何学习网络 物理实体如何构成&…

网站开发按前端后端分解wordpress替代

装备生产业务涉及原材料采购、车间排产、班组生产评估、派工单、接单报价、委外发料、库存盘点、设备台账、图纸设计等诸多环节,而各环节数据的共享问题普遍存在于装备生产企业内部,同时也直接影响企业的生产效率和整体效益等。 企业外部环境的变化和行…

襄阳市住房和城乡建设厅网站上视频网站系统开发

0 持久化(pipelines.py)使用步骤 1 爬虫中间件和下载中间件 1.1 爬虫中间件(一般不用) 1.2 下载中间件(代理,加请求头,加cookie) 1.2.1 加请求头(加到请求对象中) 1.2.2 加cookie 1.2.3 加代理 2 scrapy集成selenium 3 源码去重…

一个网站需要多少网页ps怎么做网站导航

在 element plus 表格中,您可以使用 summary-method 属性来指定一个函数,计算表格中列的合计或平均值等。该函数应该返回一个对象,其中包含每个列的合计值。例如,如果您的表格数据是这样的: [{ name: John, age: 20, …

小学生做电子小报的网站做外贸推广自己网站

Day35 贪心算法 part04 860.柠檬水找零 pass 406.根据身高重建队列 pass

东营企业网站制作网贷代理推广

1、USB驱动程序存在于不同的内核子系统(块设备、网络设备、字符设备等等)和USB主控制器之中。 2、USB核心为USB驱动程序提供了一个用于访问和控制USB硬件的接口,而不必考虑系统当前存在的各种不同类型的USB硬件控制器。 2.1 USB里的设备模型 Linux里一个很重要的概念是设备…

福州企业高端网站建设制作哪家好怎样建立一个公司网站

目录 开始示例el挂载点data数据对象 vue基本标签v-textv-htmlv-on计数器示例实现v-showv-ifv-bind图片切换示例v-forv-on补充v-model axios网络请求axios基本使用vue中使用axios 开始示例 1.首先在html页面中引入vue的生产环境&#xff0c;在body标签中粘上下面代码 <scrip…

制作网站首先要知道什么软件开发项目管理书籍

云服务器通过实现云端数据分发和内容传输优化来提高性能、可靠性和效率。这通常涉及以下几个方面的技术和方法&#xff1a; 1. CDN(内容分发网络) 内容分发网络(CDN)是一种分布式网络架构&#xff0c;用于将内容(如网页、图像、视频等)分发到全球各地的用户。CDN通过在全球各地…

怎么样签约设计网站建设一个网站项目预算

图书管理系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本图书管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处…

网站建设需要考啥证wordpress 防sql注入

再小的努力&#xff0c;乘以365都很明显。文章目录 操作系统操作系统的概念设计操作系统的目的 管理 ps:如何理解管理如何进行管理 操作系统管理软硬件资源小总结系统调用和库函数的概念小总结 操作系统 在讲述进程的时候我们先讲述一下操作系统&#xff08;os&#xff09;,因…

建立网站线上营销上海企业所得税怎么征收

前言&#xff1a; 记录一下sql学习&#xff0c;仅供参考基本都对了&#xff0c;不排除有些我做的太快做错了。里面sql不存在任何sql优化操作&#xff0c;只以完成最后输出结果为目的&#xff0c;包含我做题过程和思路最后一行才是结果。 1.过程: 1.1.插入数据 /* SQLyog Ul…

江门网站优化公司郑州网站建设修改

2019独角兽企业重金招聘Python工程师标准>>> <?phpfunction hello {echo hello world;} 转载于:https://my.oschina.net/guanyue/blog/52043

成都网站优化多少钱微信公众平台怎么做微网站吗

读何为技术人的核心竞争力后的笔记和感想。前一部分是从这篇文章中摘出来的&#xff0c;后一部分是自己的一些感想。 文章内容摘要技术人分类把命运寄托在事业上的人技术只是作为其中的手段&#xff0c;他们有能力通过技术实现自己的想法和事业。事业并不是指的创业做老板&…

旅游类网站模板免费下载系统安装wordpress

摘 要 即时通讯&#xff08;Instant Messaging&#xff09;是目前Internet上最为流行的通讯方式&#xff0c;而各种各样的即时通讯软件也层出不穷&#xff1b;服务提供商也提供了越来越丰富的通讯服务功能。随着互联网的发展&#xff0c;即时通讯的运用将日益广泛&#xff0c…

网站建设最简单的教程免费手机网站建站系统

先打个广告&#xff0c;我们的第三场零代码实践的直播在本周五&#xff08; 11 月 5 日 &#xff09;晚8点准时开始&#xff0c;扫描下面二维码&#xff0c;直接预约直播&#xff0c;到时间微信会自动提醒。随着企业数字化转型的进程加快&#xff0c;零代码平台的的应用越来越广…

如何申请网站空间和域名友情链接源码

内部回报率IRR这个概念&#xff0c;艾米姐在很多地方都讲到了。可以这么说&#xff0c;任何的理财产品&#xff0c;都可以用这个概念来测算一下收益到底如何。听起来IRR确实很强大啊。那它到底是个什么东东呢&#xff1f;今天就来说一说。一、什么是内部收益率IRR&#xff1f;这…

服务器租用网站模板河南第二建设集团网站视频

1.键盘录入一个字符串&#xff0c;求该字符串中每一个字符出现的次数。 要求&#xff1a;按照字母顺序打印 如: 录入的字符串为"apple"&#xff0c;打印 a(1) e(1) l(1) p(2) public class Demo4 {public static void main(String[] args) {//键盘录入Scanner sc n…

wordpress网站模板怎么用wordpress win2008

哈喽大家好&#xff0c;我是咕噜美乐蒂&#xff0c;很高兴又见面啦&#xff01; 幻兽帕鲁&#xff08;Monster Hunter: World&#xff09;是一款热门的多人在线游戏&#xff0c;玩家可以在服务器上与其他玩家一起探险、狩猎怪物。为了保持游戏的平衡性和提供更好的游戏体验&am…

中国建设银行网站会员注册上海集团网站建设

介绍 在开发基于 MyBatis 的应用时&#xff0c;缓存是提升性能的关键因素之一。MyBatis 提供了一级缓存和二级缓存&#xff0c;合理使用它们可以显著减少数据库的访问次数&#xff0c;提高系统的响应速度和吞吐量。本文将深入探讨 MyBatis 一级缓存和二级缓存的工作原理、使用…