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

网络运营公司的经营范围海口seo网站推广

网络运营公司的经营范围,海口seo网站推广,网站设计合同注意事项,免费免备案空间目录 前言#xff1a; 1.指针和数组 2.函数和指针 3.易错点 4.思维导图 前言#xff1a; 我们知道数组是用来存储多个数据的#xff0c;以及我们可以用指针来指向一个变量。那么我们可以用指针来指向一个数组中的数据么#xff1f; 指针除了可以像指向一个变量一样指…目录 前言 1.指针和数组 2.函数和指针 3.易错点 4.思维导图 前言 我们知道数组是用来存储多个数据的以及我们可以用指针来指向一个变量。那么我们可以用指针来指向一个数组中的数据么 指针除了可以像指向一个变量一样指向一个数组的元素以外还可以有更灵活的使用方法。 1.指针和数组 1.1 我们先来看看指针如何指向一个数组中的元素 int num_list[5] {0, 1, 2, 3, 4}; int *p1; p1 num_list[2]; printf(%d\n, *p1); *p1 20; printf(%d\n, *p1); 1.定义一个有五个整型元素的数组num_list以及一个整型指针p1 int num_list[5] {0, 1, 2, 3, 4}; int *p1; 2.把指针指向数组的第三个元素num_list[2]然后打印这个指针指向的数据输出2 p1 num_list[2]; printf(%d\n, *p1); 3.修改这个指针指向的数据重新赋值20然后打印这个指针指向的数据输出20 *p1 20; printf(%d\n, *p1); 1.2 可以看到把指针指向一个数组的特定元素的使用方式和把指针指向一个变量的使用方式是一样的。 都是在用指针指向它们的时候: 第一需要使用取地址符号来完成给这个指针变量赋值一个内存地址的过程。 第二需要保证指针的类型和它所指向的数组的类型是一致的。 1.3 我们把指针数组的第一个元素的地址赋给指针然后重新给它赋值并且打印它。 int num_list2[4] {11, 22, 33, 44}; int *p1; p1 num_list2[0]; *p1 111; printf(%d\n, num_list2[0]); 1.首先初始化一个整型指针p1 int *p1; 2.把数组第一个元素的内存地址num_list2[0]赋值给指针p1 p1num_list2[0]; 1.4 除了把指针指向一个具体的数组元素我们还可以把指针指向一整个数组 int num_list[5] {10, 20, 30, 40, 50}; int *p1; p1 num_list; printf(%d\n, *p1); printf(%d\n, *(p11)); 1.定义一个有五个元素的整型数组num_list和一个整型指针p1 int num_list[5] {10, 20, 30, 40, 50}; int *p1; 2.把指针指向数组num_list p1 num_list; 3.打印指针指向的值这时候默认打印数组的第一个值num_list[0] printf(%d\n, *p1); 4.打印指针*(p11)这是打印数组的第二个值 printf(%d\n, *(p11)); 1.5 printf(%d\n,*p1); printf(%d\n,*(p11));我们注意到当用指针指向一个数组的时候*p就是数组的第一个元素*(p1)就是数组的第二个元素同理*(p2)是数组的第三个元素。 为了方便记忆可以记忆为*(p0)是数组的第一个元素*(p1)是数组的第二个元素*(p2)是数组的第三个元素 指针后面加的数字等同于数组的下标。 1.6 同时细致的你可能也注意到了指针指向数组的时候我们是没有使用取地址符的  int num_list[5] {10, 20, 30, 40, 50}; int *p1; p1 num_list[1]; printf(%d\n, *p1); p1 num_list; printf(%d\n, *p1); 1.数组名num_list int num_list[5] {10, 20, 30, 40, 50}; 2.指针指向单个数组元素的时候有取地址符 p1 num_list[1]; 3.指针指向整个数组的时候没有取地址符 p1 num_list; 1.6 这是因为数组本质上就是一种指针这也就是说数组名存储的就是一个内存地址因此把指针指向数组名的过程也就是把数组名的内存地址赋值给一个指针的过程。 已经是内存地址了当然就不需要再用取地址符。 现在再看*(p0)是数组的第一个元素*(p1)是数组的第二个元素是不是更清楚了其实我们也可以写成*(num_list0)和*(num_list1) 由于数组名num_list和指针p都存储的是一个内存地址所以这两者是等价的。 1.7 以及指针和数组都需要注意的事也类似就是数组是有边界的不能越界访问。 比如数组的长度是10*(p120)和num_list[20]都是会报错的。 我们学过函数函数通过参数来接收外界调用函数的地方的输入 通过返回值来向外界调用函数的地方输出。 当指针作为函数参数的时候给函数的这种输入输出机制增加了一个例外。 2.函数和指针 2.1 由于指针指向的一个数据的实际存储的内存地址因此在函数中对指针指向的数据的修改是会直接修改到函数外部的变量数据。  也就是说指针作为函数参数的时候即使是在函数内部对指针的数据进行修改也会穿透到函数外部。 如果说一般函数参数的数据改变是在函数内部的暂时的改变 那么指针函数参数的数据改变就是一种“永久的改变”。 2.2 我们来看看指针作为函数参数时候的使用 void AddThree(int *p1){*p1 *p1 3; } int main(){int number_1 10;int *p;p number_1;AddThree(p);printf(%d\n, *p); } 1.定义一个无返回值的函数且这个函数的参数是一个指针 void AddThree(int *p1){ *p1 *p1 3; } 2.这是用指针做参数时候的语法 void AddThree(int *p1){         * 3.在main函数中调用这个函数 AddThree(p); 4.需要特别注意的是传入的是指针内存地址而不是指针指向的数据*p AddThree(p); 5.输出计算以后的结果13 printf(%d\n, *p); 2.3 可以看到虽然函数AddThree()并没有返回值但是变量number_1的值永久的改变了这是为什么呢答案还要回到内存地址上面。 一般的函数参数只是把一个数据的复制品传入了函数就像我抄写了一份数据交给你函数原始数据还在我函数外部这里。 你在函数内部对数据的修改作用于这个数据的复制品原始数据是不会改变的。 但是指针作为函数参数的时候传递给函数的是一个内存地址你修改了这个内存地址上面的数据那就是永久的修改。 相当于我把原始数据给你了而不是给你一个数据的复制品你在函数内部的操作是直接作用于原始数据的。 2.4  我们再来看看这张图片是不是理解会深一点我们用指针就是在用内存地址通过对这个内存地址里存储的数据的改变会永久的修改这个数据因为它就是原始数据存储的地方。 现在我们可能能够更能体会为什么说指针是C语言中很灵活很底层的机制了。 因为有些机制是基于指针的比如数组和数组名。 有些机制在使用指针的时候会方便快捷甚至打破规则的操作原始数据比如函数的指针参数。 3.易错点 数组本质上也是一个指针 当指针指向整个数组时不需要到取地址运算符 但是指针指向数组的某个具体元素时要用到取地址运算符。 对于一个指向数组的指针p*(p0)是数组的第一个元素*(p1)是数组的第二个元素*(p2)是数组的第三个元素但是*p1 是先取出数组第一个元素的值再加1。 4.思维导图 最后我想说的是 在撰写这篇文章时我参考了《白纸编程》这个app的观点和思想我要感谢他们对我的启发和帮助。
http://www.dnsts.com.cn/news/87317.html

相关文章:

  • lua做网站wordpress 显示最新文章标题
  • 建设网站青岛唐山网站制作工具
  • 淘宝优惠劵网站怎么做中信建设有限责任公司杨建强
  • 第寒网站建设c2c电子商务
  • 嘉兴网站建设seowordpress 多站点 多域名
  • 专业群建设 网站品牌注册怎么注册
  • 网站主页效果图白鹭引擎做网站
  • 建设商务网站过程福州建设企业
  • 温州网站建设服务器计算机网络技专业术网站开发
  • 徐州建站模板佛山企业自助建站系统
  • 手机网站模板制作教程h5页面制作软件免费
  • 网络品牌推广就选东莞关键词优化代理
  • 免费网站代码大全网站免费正能量小说
  • 浦东新区建设局网站全屏幕网站模板
  • 沧州公司网站建设今科网站建设
  • 网站首页页面设计多少钱把货卖到国外有哪些平台
  • wordpress 不同站点福州网站关键词推广
  • 明薇通网站建设价格wordpress 中文链接
  • 乐清网站网络公司东莞电子网站建设
  • 小网站的制作网站开发如可使用支付宝
  • 网站建设策划实训总结wordpress 外观菜单
  • 网站建设的重要指标住建厅特种作业证全国通用吗
  • 什么是php网站开发哪里教做网站的
  • 网站群建设北京注册公司需要什么资料
  • 官网建设银行网站抖音产品推广方案
  • 长沙市师德师风建设网站网站建设j基本步骤
  • 巴中建设银行网站wordpress访问不了
  • 网站如何转做app郑州做网站九零后网络
  • 西宁网站建设最好的公司九龙坡区建设二校有网站吗
  • 福州帮人建网站公司推广普通话的方法