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

东莞大朗网站建设推广平台怎么做

东莞大朗网站建设,推广平台怎么做,做明星同款的网站,郑州网站建设排行榜目录 二维数组例题一例题二例题三例题四例题五例题六例题七例题八例题九例题十例题十一 结果 感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接 🐒🐒🐒个人主页 🥸🥸🥸C语言 🐿️…

目录

  • 二维数组
    • 例题一
    • 例题二
    • 例题三
    • 例题四
    • 例题五
    • 例题六
    • 例题七
    • 例题八
    • 例题九
    • 例题十
    • 例题十一
  • 结果

感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接
🐒🐒🐒个人主页
🥸🥸🥸C语言
🐿️🐿️🐿️C语言例题
🐣🐓🏀python

二维数组

1:int a[3][4] = {0};
2:printf("%d\n",sizeof(a));
3:printf("%d\n",sizeof(a[0][0]));
4:printf("%d\n",sizeof(a[0]));
5:printf("%d\n",sizeof(a[0]+1));
6:printf("%d\n",sizeof(*(a[0]+1)));
7:printf("%d\n",sizeof(a+1));
8:printf("%d\n",sizeof(*(a+1)));
9:printf("%d\n",sizeof(&a[0]+1));
10:printf("%d\n",sizeof(*(&a[0]+1)));
11:printf("%d\n",sizeof(*a));
12:printf("%d\n",sizeof(a[3]));

在做之前我们再来复习一下数组名的意义

  1. sizeof(数组名),这里的数组名表示整个数组,计算的是整个数组的大小。
  2. &数组名,这里的数组名表示整个数组,取出的是整个数组的地址。
  3. 除此之外所有的数组名都表示首元素的地址

例题一

1:int a[3][4] = {0};
2:printf("%d\n",sizeof(a));

这里的a是整个数组的地址,所以sizeof会计算整个数组的内存大小,因此结果就是(3*4)(数组的元素)*4(整形类型的大小)=48

例题二

1:int a[3][4] = {0};
2:printf("%d\n",sizeof(a[0][0]));

这里的a[0][0]是指的数组首元素,因为是特别指定的一个元素,所以只需要计算整个元素的内存大小即可,因此a[0][0]是一个整形类型的元素,结果就是4

例题三

1:int a[3][4] = {0};
2:printf("%d\n",sizeof(a[0]));

a[0]是表示的第一行的数组元素,为了方便理解,我们暂时将数组中的元素改变一下,调试结果如图
在这里插入图片描述
显然这里的a[0]是指的数组第一行,而不是第一列,第一行元素有4个,因此结果应该是4(第一行元素)*4(整形类型的大小)=16

另外这里顺便补充一下
我们可以将二维数组表示成这样
在这里插入图片描述
但实际上二维数组的存储方式和上图是有一些区别的
在这里插入图片描述
这是每一行的地址,我们再来看一下每个元素的地址
在这里插入图片描述
这是每一行的每一个元素,地址的表示方式是16进制,因此我们可以看出每一个元素的地址相差为4个字节,第二行的首元素和第一行末尾的元素地址相差也是4个字节,因此我们可以推断出,二维数组的存储是下一行首元素地址接在上一行末尾元素的地址上,存储方式如图
在这里插入图片描述

例题四

1:int a[3][4] = {0};
2:printf("%d\n",sizeof(a[0]+1));

这里可能会有人非常纠结,a[0]+1是直接跳过第一行,还是直接跳过第一行的第一个元素,我们来看看调试的结果

在这里插入图片描述
a[0]+1是跳过第一行第一个元素,但是我们可以看到单独的a[0]却表示的整个第一行元素,这是为什么呢?

其实二维数组我们可以这样写(下面的元素是为了方便理解所以改的)
a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}},这有点类似于数学中的换元

这里我们将二维数组看出一维数组,将二维数组的每一行元素整体看成一个元素,{1,2,3,4}就相当于换元中的t ,而要换的元素就是1,2,3,4

因此a[0]就是换元之后的第一个元素,a[0]={1,2,3,4},而a[0]+1就是在换元前的四个元素中寻找第二个元素

例题五

1:int a[3][4] = {0};
2:printf("%d\n",sizeof(*(a[0]+1)));

上一题已经讲过了a[0]+1是第一行中的第二个元素,对这个元素解引用就是一个整形类型,所以结果就是4
在这里插入图片描述
这里我们可以看出a[0]+1其实是一个地址,所以我们可以推断二维数组存的是一位数组的地址,也就是说a[3]={&b[0],&b[1],&b[2],&b[3]},这里的数组b就是每一行的元素

例题六

1:int a[3][4] = {0};
2:printf("%d\n",sizeof(a+1));

这里的a不是单独放在括号里的,所以a表示第一行的地址,a+1就是跳过第一行,所以a+1=a[1]是第二行的地址,既然是地址结果就为4或者8

例题七

1:int a[3][4] = {0};
2:printf("%d\n",sizeof(*(a+1));

这里的a+1上一题已经说过了,是第二行的地址,对第二行地址解引用,就是第二行的四个元素,所以结果就是4*4=16

例题八

1:int a[3][4] = {0};
2:printf("%d\n",sizeof(&a[0]+1));

&a[0]是第一韩的地址,&a[0]+1为第二行的地址所以结果为4或者8,也可以用前面换元的思想去理解,
a[3][4]={{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0}},这里的a[0]是第一个{0,0,0,0},而a[0]+1=a[1]
a[1]=第二个{0,0,0,0},但注意这里的是&a[0]+1,&a[0]+1=&a[1]
在这里插入图片描述

例题九

1:int a[3][4] = {0};
2:printf("%d\n",sizeof(*(&a[0]+1)));

对第二行的地址进行解引用就是第二行的四个元素,所以结果就是4*4=16

例题十

1:int a[3][4] = {0};
2:printf("%d\n",sizeof(*a));

这里的a因为不是单独放在括号里的(有个号),所以这里的a就表示第一行元素,结果就是44=16

例题十一

1:int a[3][4] = {0};
2:printf("%d\n",sizeof(a[3]));

a[3]和之前的a[0] a[1]是一样的,表示的是第四行元素,结果就是4*4=16

结果

在这里插入图片描述

http://www.r43.cn/news/128713.html

相关文章:

  • 个人网站建设实训报告站长之家站长工具综合查询
  • 南京网站建设咨询制作一个网站的基本步骤
  • 网上兼职网站开发招聘seo专员
  • 网站的好坏站外推广平台有哪些
  • 免费高清logo在线观看南京百度seo代理
  • 西安分类信息网站网络营销swot分析
  • 网站服务器托管是什么啥意思青岛网站制作
  • 基金会网站建设方案关键词排名零芯互联关键词
  • 有做车身拉花的网站吗楚雄今日头条新闻
  • 销售一个产品的网站怎么做的免费自媒体网站
  • 专注番禺网站优化社群营销案例
  • 哪里有做效果图的网站google浏览器下载安装
  • 织梦后台怎么做网站地图市场调研报告800字
  • 年度网站信息化建设工作计划营销软件商城
  • 怎么做ppt教程网站618网络营销策划方案
  • 惠州企业网站建设如何开发自己的小程序
  • 前端做图表的网站百度快照投诉
  • 安庆网站关键词优化推广一般去哪发帖
  • 怎么做自己的网站自建一个页面seo整站网站推广优化排名
  • 做网站什么的好网络营销推广外包服务
  • 国产前端框架 做网站互联网产品推广
  • 东莞外贸网站建设公司怎么看app的下载网址
  • 虚拟空间可以做视频网站么宁波seo推广推荐
  • 企业网站建设有没有模板自己怎么制作网页
  • 惠州做网站的杭州最好的seo公司
  • 常用外贸网站怎么自己做网页
  • 建站教程下载佛山网站搜索排名
  • 网站开发经费申请报告常用的网络推广方法有
  • 外国人做的汉子网站公司推广策划方案
  • 杭州网站建设推广公司重庆网站排名推广