首先sizeof在C语言里是关键字,而不是一个函数,下面的语句执行之后,i的值是保持不变的,

j = sizeof(++i + ++i);

下面是C语言里部分数据类型的sizeof的值:

下面是一道C语言的面试题:

#include

#include

char str[] = "Hello";

struct size_b{

float f;

char p;

int a[3];

}block;

struct flag_s1{

char ch, *ptr;

union{

short a, b;

unsigned int c : 2;

unsigned int d : 1;

}u;

struct flag_s1 *next;

}s1;

//the difference between sizeof and strlen()

void func(char *fstr)

{

printf("sizeof(fstr) = %d\n",sizeof(fstr));

printf("strlen(fstr) = %d\n",strlen(fstr));

}

int main(void)

{

printf("sizeof(str) = %d\n",sizeof(str));

printf("sizeof(block) = %d\n",sizeof(block));

//printf("sizeof(sizeof_b) = %d\n",sizeof(size_b)); wrong usage

printf("sizeof(s1) = %d\n",sizeof(s1));

func(str);

return 0;

}结果:

sizeof(str) = 6

sizeof(block) = 20

sizeof(s1) = 16

sizeof(fstr) = 4

strlen(fstr) = 5

请按任意键继续. . .

这里稍作解释:

指针大小在C编译器里始终是一个定值,若cpu是32位的,则指针大小的值为4(bytes),因为指针保存的只是地址而已,对于结构体block的大小,是这么计算的:4+4+3*4=20,这里还设计到内存对齐char p占用4个字节,结构体s1是:4(ch)+4(ptr)+2(a)+2(b)+4(next)=16;

最后提一点,strlen是求字符串的长度,不包括字符串的‘\0’,所以他的值比sizeof的值小一。

c语言面试题sizeof,C语言面试题——sizeof的注意点相关推荐

  1. C语言一般考点笔试,c语言常见笔试题及答案

    c语言常见笔试题及答案 c语言常见笔试题总结c语言笔试题(九) 2006-09-06 Tag: C语言 1. #include "stdio.h" int main() {int ...

  2. 2014c语言二级考试题,2014计算机二级等级考试试题:C语言模拟题

    ((1)-(10)每小题2分,(11)-(50)每题1分,共60分) 一 .下列各题A.B.C.D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分. (1)下列叙 ...

  3. 电大1253c语言程序设计考试题,电大1253《C语言程序设计》开放大学期末考试试题2020年1月(含答案)...

    <电大1253<C语言程序设计>开放大学期末考试试题2020年1月(含答案)>由会员分享,可在线阅读,更多相关<电大1253<C语言程序设计>开放大学期末考试 ...

  4. (61)FPGA面试题-使用Verilog语言编写异步复位同步释放代码

    1.1 FPGA面试题-使用Verilog语言编写异步复位同步释放代码 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题-使用Verilog语言编写异步复位 ...

  5. 电大c语言程序设计试卷号1075,《C语言程序设计方案》(2012.7)考试试题

    <C语言程序设计方案>(2012.7)考试试题 试卷代号:1075.2058 中央广播电视大学2011-2012学年度第二学期"开放本/专科"期末考试 C++语言程序设 ...

  6. c语言实验操作期末考试怎么把试题保存,c语言上机操作练习题_相关文章专题_写写帮文库...

    时间:2019-05-12 16:51:22 作者:admin 上机练习题 1. 输入一个不超过五位的正整数,输出其逆数.例如输入12345,输出应为54321. /* Note:Your choic ...

  7. 2018C语言自考答案,2018年中考语文试题解析

    2018年是北京市实施中考改革新方案的第一年.面对新的改革方案,语文考试命题以党的十九大提出的"新时代"为背景要求,稳中求进,在全面贯彻<义务教育语文课程标准(2011年版) ...

  8. 电大计算机C语言1253,1253《C语言程序设计》电大期末精彩试题及其问题详解

    1253<C语言程序设计>电大期末精彩试题及其问题详解 (34页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 实用文档&l ...

  9. 华为面试题库c语言,华为校园招聘c语言面试题集.doc

    华为校园招聘c语言面试题集.doc 华为C语言面试题集C语言面试题华为C语言面试题深圳华为面试C语言面试题1.局部变量能否和全局变量重名答能,局部会屏蔽全局.要用全局变量,需要使用"&quo ...

最新文章

  1. Red Hat Enterprise Linux 5.4安装GCC
  2. 【uni-app】深度作用选择器解决修改checkbox样式无效问题
  3. Linux文件分割命令split笔记
  4. .net 动软代码生成器
  5. 【kafka】WARN Attempting to send response via channel for which there is no open connection
  6. Linux RedHat 5.2 mySQL和Apache协同
  7. XHTML + CSS使用技巧
  8. (转)实现AI中LOD优化技术
  9. v22.03 鸿蒙内核源码分析(汇编基础) | CPU上班也要打卡 | 百篇博客分析HarmonyOS源码
  10. git切换到旧版本_git如何更新到指定版本,然后再更新到最新版本
  11. 2018科大讯飞营销广告算法大赛
  12. 通信线路工程验收规范_老杨一建通信学堂通信线路工程施工技术
  13. 如今,我们为什么很难看到高质量的文章?
  14. JavaScript如何截取指定位置的字符串
  15. java部门管理_系统管理模块_部门管理_实现基本的增删改查功能
  16. 数据结构第二次实验-赫夫曼编码及其应用
  17. 软件教师必备的屏幕录像软件Macromedia Captivate
  18. hrm项目-day02
  19. 十进制转为二进制的JAVA代码
  20. 火车头采集规则,火车头采集数据发布不小心设置了发布数量怎么修改?

热门文章

  1. asp版最新的阿里云短信SDK asp版阿里云短信SDK
  2. 【信息管理学基础】总论-复习提纲
  3. 又是一篇教你摸鱼的文章,用Python实现自动发送周报给老板
  4. 各种交换机的端口镜像配置
  5. 机器学习实战教程汇总(十三篇)
  6. 记一次完整的CISSP备考全过程!
  7. php 微信支付闪了一下,php,_微信公众号JS API支付,安卓没有效果(会闪一下就消失了),php - phpStudy...
  8. WIN10 WIN11 12代 13代 大小核;性能核;电源选项;P-core,E-core;
  9. abaqus子程序 c语言,Abaqus的Vuamp子程序基本概念
  10. 单点登陆后续社交登录(以gitee为例)