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

公装设计网站kfk wordpress

公装设计网站,kfk wordpress,网站建设推广谷得网络,网站的icon图标做多大#x1f4dd;前言#xff1a; 上篇文章C语言——指针#xff08;二#xff09;中对#xff1a;指针的运算和指针变量类型对指针使用的影响开展了进一步的探讨#xff0c;这篇文章我们继续学习一下指针与一维数组之间的关系#xff1a; 1#xff0c;对数组名的理解 2前言 上篇文章C语言——指针二中对指针的运算和指针变量类型对指针使用的影响开展了进一步的探讨这篇文章我们继续学习一下指针与一维数组之间的关系 1对数组名的理解 2指针与一维数组 个人简介努力学习ing 个人专栏C语言入门基础 CSDN主页 愚润求学 每日鸡汤“海压竹枝低复举风吹山角晦还明” 文章目录 一对数组名的理解二指针与一维数组1一维数组传参的本质2指针访问一维数组1用指针变量和指针运算符2用指向数组的指针变量的移动 一对数组名的理解 取地操作符相信大家都不陌生例如 int arr[5]{1,2,3,4,5}; int*p arr[0]; //这里我们通过arr[0]拿到了数组第一个元素的地址但是数组名arr其实本来就是地址它代表的是数组首元素的地址。 我们做个测试运行下面代码观察结果 int main() {int arr[0] { 1,2,3,4,5 };printf(arr[0] %p\n, arr[0]); //%p是专门用来打印地址的printf(arr %p\n, arr);return 0; }我们可以发现数组名打印出来的结果与ar[0]一致这就是因为 数组名arr代表的是数组首元素的地址。 但是在下面两个情况下数组名表示整个数组 1sizeof(数组名) 当数组名单独放在sizeof里面时这里的数组名表示的是整个数组。 2数组名 当数组名和相结合时这里的数组名表示的是整个数组取出的是整个数组的地址。 不妨看下面的测试 测试一sizeof(数组名) 输出结果是20就是因为这里的arr表示的是整个数组sizeof计算了整个数组的大小一共5个元素每个元素是int类型所以5*420。 测试二数组名 输出结果 我们发现arr与arr输出的结果是一样的但是arr1跳过了4个字节arr1却跳过了20个字节这是因为 arr中的arr表示的是整个数组取出的是整个数组的地址指针的类型是数组指针因此1就会一下子跳过整个数组也就是20个字节上一讲说到的指针类型会影响指针±整数所跳过的字节数。 总结 sizeof数组名和 数组名中数组名表示的整个数组。 除两个特例外其他情况下的数组名都表示数组首元素的地址。 二指针与一维数组 在前面学习的基础上我们再来看看数组与指针间的奇妙联系 1一维数组传参的本质 假如我们创造一个函数test企图用test来实现在函数内部计算数组元素的个数如下图 输出结果 我们发现sz2的结果并不是我们想要的数组的元素的个数。 为什么同样一段用于计算数组元素个数的代码在函数外部能实现到了函数内部求数组元素个数就不行了呢 这是因为 数组名是数组首元素的地址我们在传参时传递的是数组名传递的是首元素的地址。 也就是说test函数中sizeof(arr)/sizeof(arr[0])中的sizeofarr实现的其实是计算首元素的地址的大小sizeofarr[0]计算的是数组首元素的大小因为我所使用的是x86环境地址的大小是4个字节所以4/4得到了1。 总结本质上一维数组传参传递的是数组首元素的地址。 void test(int arr[]) 参数上写成数组的形式本质上还是指针 参数 int arr[] int* arr (形式不同本质相同) 2指针访问一维数组 下面举例 1用指针变量和指针运算符 我们可以用指针变量和指针运算符实现访问数组 如下用指针变量输入输出各数组的元素 int main() {int i, a[5], * p a;//输入for (i 0; i 5; i){scanf(%d, p i);}printf(\n);//输出for (i 0; i 5; i){printf(%4d, *(a i));}printf(\n);return 0; }当我们输入1 2 3 4 5结果如下 当我们输入时随着i的变化pi所代表的地址也在变化从而不断后移到数组其他元素的地址 2用指向数组的指针变量的移动 int main() {int i, a[5], * p a;for (i 0; i 5; i){scanf(%d,p);}printf(\n);p a;for (i 0; i 5; i){printf(%4d, *p);}printf(\n);return 0; }当我们输入1 2 3 4 5时结果如下 这里是通过p指针变量自身的移动来实现访问数组中不同地址的元素 ●注意printf(“%4d”, *p);中 *p 的作用是先输出指针指向的变量的值然后指针变量加1 我的分享也就到此结束啦 要是我的分享也能对你的学习起到帮助那简直是太酷啦 若有不足还请大家多多指正我们一起学习交流 公主王子点赞→收藏⭐→关注 感谢大家的观看和支持祝大家都能得偿所愿天天开心
http://www.pierceye.com/news/265091/

相关文章:

  • 农庄网站模板网站 文件夹 上传
  • 做长图文网站企业网站开发服务合同
  • 长椿街网站建设九江网站推广徽hyhyk1
  • 贴吧做网站wordpress不兼容ie
  • 上海万网网站建设网络工程专业是什么
  • 到国外建网站自己做的视频发什么网站吗
  • 高校网站平台建设快速网站排名
  • seo技术 如何优化网站内部结构用ps做网站方法
  • vi设计公司网站python做网站好处
  • 北京专业网站建设服务商枣庄建设工程管理局网站
  • 百度移动网站提交深圳做网站的好公司
  • 十大在线编程网站旅游营销型网站
  • 微转app是用网站做的吗win10运行wordpress
  • 微网站建设哪里便宜网站做的跟别人的一样可以吗
  • 合肥优化网站福州网站设计
  • 企业网站制作前期需要什么资料网站 月15g流量够用吗
  • 网络营销网站建设ppt环艺做网站
  • 手机建设银行官方网站网站开发要点
  • 做简历的网站有随州网站建设学校
  • 深圳建设网站企业青白江做网站的公司
  • dm网站制作软件无忧网站建设
  • 如何在自己的网站上做歌单王建设医生网站
  • 科技+杭州+网站建设做效果图的网站有哪些
  • 引流推广网站平台wordpress页面发布失败
  • 南京哪家网站建设好网站开发需要注意的
  • 一个综合网站上线多少钱wordpress粘贴word
  • 承接电商网站建设新手做自己的网站
  • 网页版视频网站建设需要多少钱四川鸿业建设集团公司网站
  • h5网站实例wordpress改造mip
  • 完整的网络营销推广方案包括优化营商环境心得体会个人