sizeof 常用的面试题

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

  1 #include <stdio.h>

  2 

  3 int main()

  4 {

  5     int a = 0;

  6     char b[] = "hello world";

  7     char c[] = "";

  8     char *p = 0;

  9     char *q = b;

 10     char **m = &q;

 11     printf("b 的地址是 %ld \n",&b);

 12     printf("b[0] 的地址是 %ld \n",&b[0]);

 13     printf("int 的字长是 %ld \n",sizeof(int));

 14     printf("char 的字长是 %ld \n",sizeof(char));

 15     printf("a 的字长是 %ld \n",sizeof(a));

 16     printf("b[] 的字长是 %ld \n",sizeof(b));

 17     printf("c[] 的字长是 %ld \n",sizeof(c));

 18     printf("&a 的字长是 %ld \n",sizeof(&a));

 19     printf("p 的字长是 %ld \n",sizeof(p));

 20     printf("*p 的字长是 %ld \n",sizeof(*p));

 21     printf("*q 的字长是 %ld \n",sizeof(*q));

 22     printf("q 的字长是 %ld \n",sizeof(q));

 23     printf("q 字符串 %s \n",q);

 24     printf("b 字符串 %s \n",b);

 25     printf("b 字符串 %s \n",&b);

 26     printf("m 字符串 %s \n",*m);

 27 

 28     return 0;

 29 }






运行结果:

b 的地址是 140734730615760 

b[0] 的地址是 140734730615760 

int 的字长是 4 

char 的字长是 1 

a 的字长是 4 

b[] 的字长是 12 

c[] 的字长是 1 

&a 的字长是 8 

p 的字长是 8 

*p 的字长是 1 

*q 的字长是 1 

q 的字长是 8 

q 字符串 hello world 

b 字符串 hello world 

b 字符串 hello world 

m 字符串 hello world 



个人见解:printf 打印始终要指向被打印的那块内存地址首地址。

          sizeof 关键字求指针的时候 要分别对待。



【秋招】C++面试题 sizeof 1.定义一个空的类型,里面没有任何成员变量和成员函数,对该类型求sizeof,得到的结果是多少? 答案:1 问:为什么不是0? 答案:空类型的实例中不包含任何信息,本来对其求sizeof应该是0,但是当我们在声明该类型实例的时候,它必须在内存中占一定的空间,否则无法使用这些实例。至于到底要占多少内存空间则由编译器决定。在visual studio中,每个空类型的实例占用1字节的空间。 2.sizeof 是什么? 答案:sizeof 是一个关键字,它是一个编译时运算符,用于判断变量或数据类型的字 阅读详情

相关推荐

C++面试题6:sizeof 使用规则及陷阱

C++面试题6:sizeof 使用规则及陷阱 cout sizeof(int) //32位机上int长度是4cout sizeof(1==2) //bool类型,相当于cout 陷阱: int a=0; cout sizeof(a=3) //sizeof作用范围内,也就是括号里面的内容不能被编译,而是被替换成类型,=操作符返回左操作数的类型,所以a=3相当于int 4cout //输出0

Voidwalkerxiaohui 2159

sizeof() 面试题及其解析

sizeof()函数详解

am_i_ego的博客 916

面试题sizeof和五大内存分区

面试题sizeof和五大内存分区 今天看了一个面试题,是关于sizeof以及变量在内存中的补齐的。

cslqm 991

精通C语言-sizeof-面试题4

func是一个函数指针,跟其余的指针是一样的,都是在64位系统中是8个字节,32位系统中为4个字节。在所有的系统中,函数名的sizeof的结果都是1个字节。以上,sizeof的面试相关的问题都整理完了,后续有更新会再加进来,如果把所有4篇的内容都看完了之后,应该是能覆盖所有的sizeof相关问题了。

ren1198733352的博客 322

【C语言】指针篇- 深度解析Sizeof和Strlen:热门面试题探究(5/5)

本篇是关于Sizeof和Strlen常考面试题解析,也是指针篇的末尾 ,在此感谢大家的支持!

专注于 C/C++ 后端开发,涵盖基础语法、Linux系统与网络、MySQL数据库、常见算法及项目经验。 1690

精通C语言-sizeof-面试题1

在32位系统中,结果为:(gcc编译的时候,-m32可以编译为32位的代码,-m64可以编译为64位代码,默认是64位的代码,所以可以不加-m64)还有比较特殊的,void为1,然后‘a’在C语言中,默认为int型数据,并不是表面上看起来的字符类型。可以看到,32位机器,不管是x86还是arm,结果是一致的。

ren1198733352的博客 442

C语言高频面试题——sizeof和strlen的区别

【代码】C语言高频面试题——sizeof和strlen的区别。

weixin_45252056的博客 1149

c语言中的sizeof(面试、笔试常考)

大部分公司在招聘技术职位面试的时候,都会考c语言基础,而sizeof是他们最喜欢考的知识点,现总结如下: 1、定义       sizeof是C语言的一种单目操作符,它并不是函数。sizeof操作符以字节形式给出了其操作数所占存储空间的大小。操作数可以是一个表达式或括在括号内的类型名。操作数所占存储空间的大小由操作数的类型决定。作用就是返回一个对象或者类型所占的内存字节数。 2、语法

Troubadour 1178

C++面试题sizeof面试题

//sizeof面试题1.cpp //What is the output of the following code? //[美国某著名计算机软硬件公司面试题] #include #include #include using namespace std; struct{  short a1;  short a2;  short a3; }A; struct{  l

imxiangzi的专栏 1310

关于sizeof的一道面试题

刚在学校论坛上看到一道华赛的面试题,居然作为计算机的科班出身,没有做对,特共勉之~~ 问题: int i=2; int j=sizeof(++i); printf("%d",i); 输出的是什么??? 思 考 之 `` 答案:2 因为 sizeof  操作符给出其操作数需要占用的空间大小, 它是在编译时就

993

常问面试题:C++中sizeof的陷阱及应答

C++中sizeof是经常被问到的一个概念,比如,下面的几个关于sizeof面试题反复出现在各大IT公司的技术面试当中,我们有必要完全理解并掌握。 注:在曾经面试大公司时,我的确被问到过这样的问题。 面试题:定义一个空的数据类型,里面没有任何成员变量和成员函数,对该类型求sizeof,得到的结果是多少? 答案:是1,为什么不是0?空类型的实例中不包含任何信息,本来求sizeof应该

程序媛想事儿 4456

【常见面试题总结之C++中sizeof问题】

归纳一些常见面试题,C++中sizeof是经常被问到的一个概念,比如,下面的几个关于sizeof面试题反复出现在各大IT公司的技术面试当中,我们有必要完全理解并掌握。 【HR】:定义一个空的类型,里面没有任何成员变量和成员函数,对该类型求sizeof得到结果是多少? 【acmer】:答案是1。 【HR】:为什么不是0? 【acmer】:空类型的实例中不包括任何信息,本来求sizeof得到...

BlueBirdssh的专栏 447

c语言面试题sizeof,C语言面试题——sizeof的注意点

首先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_...

weixin_42412524的博客 360

C:有关sizeof的经典笔试面试题

参考:https://www.cnblogs.com/xuyuantao/archive/2010/08/15/1800266.html 因为已经有人总结过了,直接搬运+分享。顺便自己也总结下 顺便改下方式,先出题目,再继续解释。 思考: //4.基本数据类型 int i; sizeof( i ); // ? sizeof( int ); // ? sizeof i; // ? sizeof int; // ? sizeof(2); // ? sizeof.

诸葛一帆丶的博客 2048

C语言面试题——sizeof的注意点

首先sizeof在C语言里是关键字,而不是一个函数,下面的语句执行之后,i的值是保持不变的, j = sizeof(++i + ++i); 下面是C语言里部分数据类型的sizeof的值: 下面是一道C语言的面试题: #include #include char str[] = "Hello"; struct size_b{ float f; char p; int

liming0931的专栏 2936

笔试面试题目:一文搞定sizeof笔试面试题

在面试C/C++相关的岗位时,sizeof操作符几乎是必考内容,它能检验面试者的基本功,所以,只能全对,不能出错。一起来看看,这些题目,你能全做对吗?说明:如下题目是基于64位平台。

认知 行动 坚持 1948
上一篇: VLAN_Trank使用
下一篇: Linux下常用vim操作快捷键
barry_yan
博客等级 码龄14年 11粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值