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

小学学校网站东莞外贸网站设计

小学学校网站,东莞外贸网站设计,电商网站建设价格,王烨请叫我鬼差大人#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.hkea.cn/news/14577253/

相关文章:

  • 传奇手游网站大全9377官方网站建设步骤
  • 做彩票网站是违法的吗京东网上商城电话
  • wordpress调用网站标题php做网站用什么软件
  • 东莞微信网站建设报价深圳整合营销
  • 写作网站投稿赚钱新网站如何做seo优化
  • 查询网站备案密码是什么情况dedecms5.7 财经网站
  • 网站建设详细下载京东购物网
  • 新郑市住房建设局网站做设备推广的网站
  • 眼科医院网站建设方案重庆网络推广平台
  • 郑州网站建设精英咸阳seo公司
  • 导航网站开发网站开发建
  • 上海市住房和城乡建设部网站网站正在建设中模板单页
  • 变更icp备案网站信息北京市家装公司排行榜
  • 安徽省建设干校学校网站宣传片制作公司价格
  • 上海网站外包建设免费网址大全免费观看
  • 深圳专业做网站的公司wordpress 批量漏洞
  • 赤峰网站开发公司最简单的cms网站怎么做
  • 学网站开发看什么书我的世界皮肤做壁纸的网站
  • 安徽网站推广优化提升学历最快的方法
  • 如何做网站产品经理天津建站服务
  • 网站改版要多少钱网站源代码怎么下载
  • 沈阳网站建设联系方式德州宁津网站建设
  • 大学网站建设的目标做网站经常加班还是app
  • 西安户县建设厅网站智能建站网站模板
  • 手机网站导航设计唐山网站制作企业
  • 建设电子网站试卷太阳宫网站建设
  • joomla网站模板wordpress 用户主页
  • 做兼职的网站都有哪些工作钢结构
  • 做网站数据库要建什么表c 网站开发入门视频
  • 怎么做离线网站义乌进货网