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

福州网站建设咨询做网站点

福州网站建设咨询,做网站点,网站建设情况介绍,那些网站后台做推广效果好数组面试题解析 字符数组 #xff08;一#xff09; 我们上一篇文章学习了一维数组的面试题解析内容和字符数组的部分内容#xff0c;我们这篇文章讲解一下字符数组和指针剩余面试题的解析内容#xff0c;那现在#xff0c;我们开始吧。 我们继续看一组字符数组的面试…数组面试题解析 字符数组 一 我们上一篇文章学习了一维数组的面试题解析内容和字符数组的部分内容我们这篇文章讲解一下字符数组和指针剩余面试题的解析内容那现在我们开始吧。 我们继续看一组字符数组的面试题 char arr[] abcdef;printf(%d\n, strlen(arr));printf(%d\n, strlen(arr0));printf(%d\n, strlen(*arr));printf(%d\n, strlen(arr[1]));printf(%d\n, strlen(arr));printf(%d\n, strlen(arr1));printf(%d\n, strlen(arr[0]1)); 首先我们可以看到的是第三个和第四个没有这是因为第三个和第四个代码是错的当然不可能打印出来具体细节请看下图  通过这张图我们可以看到strlen的参数是指针类型而在笔试题中参数并不是指针所以会报错。 接下来我们看第一个和第二个这两个都是6这是因为arr和arr0他们两个都是代表的是数组首元素的地址此时一共有6个元素到\0之前 第五个答案是6虽然arr代表的是整个数组的地址但是他仍然指向的是数组的起始位置。 第六个是随机值arr1代表已经跳过了这个数组所以strlen会知道遇到\0才会停止这个\0的位置是不可知的所以才会是随机值。 第七个是5这是因为arr[0]1代表的是数组第二个元素的地址所以答案是5 二 char *p abcdef;printf(%d\n, sizeof(p));printf(%d\n, sizeof(p1));printf(%d\n, sizeof(*p));printf(%d\n, sizeof(p[0]));printf(%d\n, sizeof(p));printf(%d\n, sizeof(p1));printf(%d\n, sizeof(p[0]1)); 首先我们看除了三四的其他几个答案都是8其实应该是4/8看过我们之前那篇文章的朋友应该知道为什么因为是指针代表的是地址的大小而地址的大小是确定的因为编译器环境选择的是x64所以答案是8. 我们再看第三个和第四个他们的答案都是1这是因为他们代表的都是一个字符的大小。都是字符串首字符的大小。 三 char *p abcdef;printf(%d\n, strlen(p));printf(%d\n, strlen(p1));printf(%d\n, strlen(*p));printf(%d\n, strlen(p[0]));printf(%d\n, strlen(p));printf(%d\n, strlen(p1));printf(%d\n, strlen(p[0]1)); 其实这个情况产生的原因和第一题产生的原因是相同的因为第三个和第四个代码本身发生了错误我们在这里再次强调strlen函数的参数是指针类型。而第三个和第四个传入的都是字符。所以代码发生错误。 二维数组 int a[3][4] {0};printf(%d\n,sizeof(a));printf(%d\n,sizeof(a[0][0]));printf(%d\n,sizeof(a[0]));printf(%d\n,sizeof(a[0]1));printf(%d\n,sizeof(*(a[0]1)));printf(%d\n,sizeof(a1));printf(%d\n,sizeof(*(a1)));printf(%d\n,sizeof(a[0]1));printf(%d\n,sizeof(*(a[0]1)));printf(%d\n,sizeof(*a));printf(%d\n,sizeof(a[3])); 接下来让我们一起来进行分析 首先第一个是48是4*12因为a代表的是整个数组一共有12个元素每个元素是整型大小是4个字节。 第二个是4这个代表的是特定的数组元素数量是一个是整型所以是4个字节。 第三个是16这个代表的是二维数组第一行的元素二维数组第一行一共有4个元素每个元素都是整型每个整型4个字节所以一共有16个字节 第四个是8应该是4/8因为是地址嘛这里的arr[0]代表的是第一行的地址。 第五个是4这是因为代表的是数组第二行第一个元素这个元素是Int类型所以大小是4个字节 第六个是8代表的是跳过这个数组之后的地址应该是4/8因为地址的大小是固定的。 第七个是16这是因为他代表的是数组第二行的元素的大小一共4个元素每个元素4个字节所以一共有16个字节 第八个是8应该是4/8这是因为此时代表的是数组第二行的地址 第9,10个是16这是因为第九个表示数组第二行的元素第十个表示数组第一行的元素每一行有4个元素每个元素是4个字节所以一共有16个字节 第十一个答案是16你们感到很奇怪吗因为数组第四行是不存在的但是着这里的话是不存在越界的说法的这是因为sizeof内部的表达式并不会真实的计算
http://www.w-s-a.com/news/455823/

相关文章:

  • 个人网站域名怎么起网站建设业务好跑吗
  • 网页设计的网网页设计的网站企业网站怎样做优化
  • 论文中小企业的网站建设域名网站空间
  • 宿迁网站建设联系电话现在出入邯郸最新规定
  • 男女做羞羞的事情网站30岁转行做网站编辑
  • 做企业网站的轻量级cmswordpress 越来越慢
  • 无锡中英文网站建设莱芜网络公司
  • ps软件下载官方网站相关搜索优化软件
  • 世界杯网站源码下载做网站推广代理
  • 用股票代码做网站的wordpress通过标签调用文章
  • iis添加网站ip地址树莓派运行wordpress
  • 网站空间域名多少钱宿迁做网站公司
  • 福州建设企业网站网站交互主要做什么的
  • 英文网站建设方法门户网站特点
  • 腾讯云备案 网站名称萧山城市建设网站
  • 漳浦网站建设网络营销推广策略
  • 龙岗商城网站建设教程百度关键词排名突然没了
  • 深圳网站建设服务哪家有织梦网站模板安装
  • 网站设计与网页制作代码大全网站开发还找到工作吗
  • 给设计网站做图会字体侵权吗站长工具seo综合查询张家界新娘
  • 网站的建设与颜色搭配win7在iis中新建一个网站
  • 单位做网站有哪些功能型类的网站
  • 网站怎样做优惠卷移动互联网开发培训
  • 重庆网站建设帝维科技网站做定向的作用
  • 网站建设工作室wp主题模板做污事网站
  • 网站建设 深圳 凡科重庆家居网站制作公司
  • 自己也可以免费轻松创建一个网站企业收录网站有什么用
  • 帮别人做网站违法导航网站开发工具
  • seo网站外包公司字画价格网站建设方案
  • 网站国内空间价格销售技巧