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

为什么做儿童音乐网站沈阳哪有wordpress

为什么做儿童音乐网站,沈阳哪有wordpress,受欢迎的免费网站建设,成都市高新区规划建设局网站文章目录1 数组的访问方式1.1 数组的访问方式代码分析2 数组和指针不同3 a 和 a 的区别3.1 指针运算的经典代码案例分析4 数组作为函数的参数4.1 数组作为函数参数的代码案例分析5 总结开题问#xff1a;数组名可以当做常量指针使用。那么指针是否可以当做数组来使用? … 文章目录1 数组的访问方式1.1 数组的访问方式代码分析2 数组和指针不同3 a 和 a 的区别3.1 指针运算的经典代码案例分析4 数组作为函数的参数4.1 数组作为函数参数的代码案例分析5 总结 开题问数组名可以当做常量指针使用。那么指针是否可以当做数组来使用? 1 数组的访问方式 以下标的形式访问数组中的元素 以指针的形式访问数组中的元素 下标形式与指针形式的转换 对于上面的转换方式不要觉得奇怪。这是很正确的转换。 1.1 数组的访问方式代码分析 数组下标形式的访问我们很常见下面看一看不是很常见的访问形式; 代码 29-1.c #include stdio.hint main(){int a[5] {0};int* p a;int i 0;for(i0; i5; i){p[i] i1;}for(i0; i5; i){printf(a[%d] %d\n, i,*(ai));}printf(\n);for(i0; i5; i){i[a] i10;}for(i0; i5; i){printf(a[%d] %d\n,i, p[i]);}return 0; }编译运行结果为 可以看出 指针确实可以当做数组来使用访问数组可以通过下标形式与指针形式具体见上图中的转换公式。 2 数组和指针不同 虽然上面说了数组与指针都可以进行访问数组它们很相似但是数组与指针是不同的。在之前的文章中已经有过分析这里不再赘述直接看以前的文章【软件开发底层知识修炼】二十七 C/C中的指针与数组是不同的 3 a 和 a 的区别 a为数组首元素的地址a 为整个数组的地址a 和 a 虽然在数值上是相等的。但是它们的意义不同。在指针运算中存在差别 3.1 指针运算的经典代码案例分析 代码29-3.c #include stdio.hint main() {int a[5] {1, 2, 3, 4, 5};int* p1 (int*)(a 1); int* p2 (int*)((int)a 1);int* p3 (int*)(a 1);printf(%d, %d, %d\n, p1[-1], p2[0], p3[1]);return 0; }上述代码编译运行的结果为 5, 33554432, 3 我们暂且不看p2[0]的结果。 p1[-1] 表示当前指针指向的元素的前一的元素。因为 a 1 后是直接跨过可整个数组到了数组最后一个元素的下一个元素的位置。所以 p[-1] 5p3[1] 3很好理解。*(p3 1) 3 那么p2[0]到底是怎么回事 可以看下图的数组的内存图Linux 系统下的小端模型 上图就是数组a的内存模型在Linux系统的小端模式下。如果这个不懂那就没法往后看。a是数组首元素的地址a1 是第二个元素的地址这也很好理解(int)a 是将a这个常量指针转换为int型变量加入为tmp那么(int)a 1 就直接相当于这个tmp变量加1然后就到了如上图中的位置。然后(int*)((int)a 1) 又将其转换为指针。所以*p2 p2[0] 0x020000000x02000000转换为十进制的值是33554432 。到这里就应该没有什么疑问了 4 数组作为函数的参数 数组作为函数的参数的时候编译器会将其编译为对应的指针。 注意所以数组作为函数参数的时候必须将数组的个数也作为参数传进去否则在函数内无法计算数组的大小。 4.1 数组作为函数参数的代码案例分析 代码29-4.c #include stdio.hvoid func1(char a[5]){printf(In func1 sizeof(a)%d\n,sizeof(a));*a a;a NULL; //可以作为左值但是数组就不行 }void func2(char b[]){printf(In func2 sizeof(b)%d\n,sizeof(b));*b b;b NULL; //可以作为左值但是数组就不行 } int main(){char array[10] {0};func1(array);printf(In func1 array[0]%c\n, array[0]);func2(array);printf(In func2 array[0]%c\n, array[0]);return 0; }编译运行结果如下 分析 由上述代码看出当数组作为函数参数时在函数体内它的大小永远是4是因为它在编译的过程中退化为指针。在32系统中指针的大小总是4字节。并且可以看出数组作为函数参数的时候可以作为左值。但是数组就不可以作为左值这也充分说明数组作为函数参数的时候最终退化为指针指针是可以作为左值的。 5 总结 数组名和指针仅仅是使用方式相同。数组与指针的本质是不同的。数组名不是整个数组的地址它是数组首元素的地址数组作为函数参数的时候会被编译器编译为指针。
http://wiki.neutronadmin.com/news/244120/

相关文章:

  • 网站直播怎么做的徐州编程培训机构
  • 生活信息网站建设手机网站注册
  • 太仓网站建设网站推广WordPress链接点击次数统计
  • 功能型类的网站程序制作软件
  • 百度怎么网站排名沈阳做微信和网站的公司
  • 腾讯云wordpress建站教程seo在线教程
  • 客户对网站建设公司的评价网站建设方案预计效果
  • asp.net做网站怎么样中国室内设计网站有哪些
  • 郑州知名网站建设公司网站规划步骤有哪些
  • 设计一个学院网站上线了小程序怎么收费
  • 浙江建设职业技术学院门户网站免费开源小程序源码
  • 在国外做盗版电影网站招聘wordpress
  • 凡科网上建设成功的网站站点推广
  • 什么做网站赚钱政务服务网站建设整改报告
  • 做英文网站賺钱wordpress需要什么主机
  • 网站怎么做下载内容网站建站网站制作公司
  • 网站建设与维护浙江省试题软件工程很难学吗
  • 哈尔滨建设公司网站海南行指三亚网站开发
  • 北京棋森建设有限公司网站青海城乡建设部网站首页
  • 家装行业网站建设传统行业网站建设
  • 建设网站的建筑公司专业网站建设电话
  • 网站建设培训西安网站建设标志头像图片
  • pc wap 装修公司网站源码餐饮加盟手机网站建设
  • 宁波哪个公司建网站新网站如何做百度关键词
  • 仿4493美图网站程序各大浏览器的网址
  • 建一个网络商城的网站素材搜集预算是什么企业网站主页设计
  • 做网站ps注意事项app界面设计模板一套
  • 公司网站开发款记什么科目游戏设计师网站
  • 做店铺首页的网站手机网站搭建
  • 汕头网站制作推荐需要登陆的网站如何做爬虫