LinuxC编程实参和形参的转化及sizeof用法
第一种情况includestdio。hvoidparamtest(inta){printf(addr(a)p,a);}intmain(){intb10;printf(saddr(b)p,func,b);paramtest(b);return0;}。1mainaddr(b)0x7ffea26bbc6caddr(a)0x7ffea26bbc4c
可以发现两次打印的地址不一样,实参和新参在内存中被分配了不同的地址。第二种情况voidparampointertest(inta){printf(addr(a)p,a);}intmain(){intb10;printf(saddr(b)p,func,b);parampointertest(b);return0;}。1mainaddr(b)0x7ffc9238b40caddr(a)0x7ffc9238b40c
通过指针传递参数,可以发现形参与实参的地址就会一样,从而里面存储的数据也是一样的。sizeof()用法
1。定义
sizeof是一个操作符。
其作用是返回一个对象或类型所占的内存字节数。
2。语法
(1)。sizeof(object);sizeof(对象)
(2)。sizeof(typename);sizeof(类型)
sizeof对对象求内存大小,最终都是转换为对象的数据类型进行求值。
sizeof(表达式),值为表达式的最终结果的数据类型的大小。inta;sizeof(int);值为4sizeof(a);值为4,等价于sizeof(int)sizeofa;值为4sizeof(4);值为4,等价于sizeof(int),因为2的类型为intsizeof(33。1415);值为8,等价于sizeof(double),因为此表达式的结果的类型为doublechararray〔sizeof(int)10〕;OK,编译无误
3。基本数据类型的sizeof
这里的基本数据类型是指int,short,long,float,double这样的简单内置数据类型。
由于它们的内存大小是和系统相关的,所以在不同的系统下取值可能不同。
4。结构体的sizeof
结构体的sizeof涉及到字节对齐问题。
字节对齐的细节和编译器的实现有关,但一般需要满足以下三个准则:
(1)。结构体变量的首地址能够被其最宽基本类型成员的大小所整除。
(2)。结构体的每个成员相对于结构体首地址的偏移量都是成员大小的整数倍,如有需要,编译器会在成员之间加上填充字节。
(3)。结构体的总大小为结构体最宽基本类型成员大小的整数倍,如有需要,编译器会在最末一个成员加上填充字节。
空结构体(不含数据成员)的sizeof值为1structS1{chara;intb;};sizeof(S1);值为8,字节对齐,在char之后会填充3个字节。structS2{intb;chara;};sizeof(S2);值为8,字节对齐,在char之后会填充3个字节。structS3{};sizeof(S3);值为1,空结构体也占内存
5。联合体的sizeof
结构体在内存组织上是顺序式的,联合体则是重叠式的,各成员共享一段内存,所以整个联合体的sizeof也就是每个成员sizeof的最大值。unionu{inta;floatb;doublec;chard;};sizeof(u);值为8
6。数组的sizeof
数组的sizeof值等于数组所占用的内存字节数。
(1)。当字符数组表示字符串时,其sizeof值将0计算进去。
(2)。当数组为形参时,其sizeof值相当于指针的sizeof值。chara〔10〕;charn〔〕abc;printf(sizeof(a)d,sizeof(a));数组,值为10printf(sizeof(n)d,sizeof(n));字符串数组,将0计算进去,值为4voidfunc(chara〔3〕){intcsizeof(a);c4,因为这里a不在是数组类型,而是指针,相当于chara。}voidfuncN(charb〔〕){intcNsizeof(b);cN4,理由同上。}
7。指针的sizeof
指针是用来记录另一个对象的地址,所以指针的内存大小当然就等于计算机内部地址总线的宽度。
在32位的计算机中,一个指针变量的返回值必定是4。
指针变量的sizeof值与指针所指的对象没有任何关系。charbhelloworld;charc〔10〕;doubled;inte;void(pf)();sizeof(b);指针指向字符串,值为4sizeof(b);指针指向字符,值为1sizeof(d);指针,值为4sizeof(d);指针指向浮点数,值为8sizeof(e);指针指向指针,值为4sizeof(c);指针数组,值为40sizeof(pf);函数指针,值为4
8。函数的sizeof
sizeof也可以对一个函数调用求值,其结果是函数返回值类型的大小,函数并不会被调用。
对函数求值的形式:sizeof(函数名(实参表))
注意:
(1)。不可以对返回值类型为空的函数求值
(2)。不可以对函数名求值
(3)。对有参数的函数,在用sizeof时,需要写上实参表includestdio。hfloatFuncP(inta,floatb){returnab;}intFuncNP(){return3;}voidFunc(){}intmain(){printf(sizeof(FuncP(3,0。4))d,sizeof(FuncP(3,0。4)));OK,值为4,sizeof(FuncP(3,0。4))相当于sizeof(float)printf(sizeof(FuncNP())d,sizeof(FuncNP()));OK,值为4,sizeof(FuncNP())相当于sizeof(int)printf(sizeof(Func())d,sizeof(Func()));error,sizeof不能对返回值为空类型的函数求值printf(sizeof(FuncNP())d,sizeof(FuncNP()));error,sizeof不能对函数名求值return0;}
别听那些卖二手手机的,污蔑苹果X!看看我的看法别听二手介绍那些!苹果X非常好实惠!那为什么他们都说不好呢?我个人总结,第一就是利润,卖苹果X利润低,越近期的产品利润越高!第二,就是跟风,看到别人说,自已就跟着瞎说!还说怎么……
2021年最值得入手的4大安卓机皇,上转转入手更划算众所周知,现在很多年轻人在买手机的时候都喜欢考虑旗舰机,毕竟旗舰手机在配置,性能上都不会表现得太差,而且一款好的旗舰机还可以用上好几年,这比入手千元机好多了,但是旗舰手机也有一……
Go语言,几行代码实现一个WWW服务器packagemainimport(fmtgithub。comkatarasirisv12)funcmain(){app:iris。New()app。RegisterView(……
2021年7月新能源汽车各城市销量排行榜2021年7月新能源汽车零售销量全国城市排行出炉:上海位居第一,北京位居第二、深圳第三,广州第四、杭州第五、成都第六、天津第七、重庆第八、郑州第九、苏州第十;7月新能源乘……
明天起,这些新规将正式实施2月1日起一批新规正式实施对生活有哪些影响?一文速览超100万用户网络平台运营者赴国外上市须申报网络安全审查国家互联网信息办公室等十三部门联……
华为开始反击!拒绝授权5G专利,加拿大已没有多余的选择在1G4G通讯时代,其核心专利一直由西方国家所主导,尤其是美国的高通,手中掌握着大量通讯专利,这也让美国等一些国家在移动互联网发展的浪潮中赚得盆满钵满,但5G时代的来临,让华为……
小米第一款竖向折叠屏手机价格厚道有望今年发布今天,博主数码闲聊站爆料,小米研发的竖向折叠屏手机已在路上,有望在今年跟消费者见面。在去年上半年,小米推出了旗下第一款量产折叠屏旗舰MIXFOLD,它采用了类似三星Gal……
python爬虫将数据保存到excel第一步:先安装openpyxl模块,可通过winR键,打开命令窗口,输入pipinstallopenpyxl安装第二步:导包fromopenpyxlimportworkb……
互联网赋能汽车后市场,招兵买马聊天记录摘抄18年前东家业务瓶颈的时候老板找硬件负责人、软件负责人、互联网产品、互联网资源型商务(也就是我)五个人一起在他办公室讨论新业务拓展方向那个时候我的层级最……
武汉的长江新城和光谷,未来哪个潜力更大?作为一个武汉人,一个曾经长期在高新区生活的人,谈一下个人观点吧。楼主说的长江新城、光谷的潜力,应该是从区域综合实力尤其是产业发展方面来看的,其实武汉不止有这两个产业高地和……
从蔚小理到理小蔚,蔚来危机再现砺石导言:长期以来,蔚来都标榜自己是豪华品牌,对标的是燃油车中的BBA,但在爆款缺位、特斯拉降价等一系列内外因素冲击之下,蔚来还是掉队了。不过,比蔚小理变为理小蔚更加严重的是,……
谈谈我的最后一台华为设备,matepad11自动点击屏幕,问强调,我不是花粉,我只买过四台华为设备,以下所有内容都是我这次购机的主观感受。我用过的四台华为设备先说说为啥我会在头条写专栏,因为我向花粉俱乐部反馈问题,帮帮堂只会……
灯都中山古镇,流传出来的网红款产品,卖爆后迅速撤场这里是灯圈,这里只讲LED产品。广东省中山市古镇镇,这里是世界灯都,国内以及国外的灯具市场几乎都是从这里开始的。灯饰照明行业在各行各业中算是规模较小的了,以至于整个行业的……
每次10分钟跟我学Python(第六十七次课)大家好!我是幻化意识流。今天继续跟我学Python。上次课,我们自己编写了关于怎样计算排列的程序,我想,那种练习是必要的,为的是把基础打好!当然了,当我们在实际应用中并不……
延禧攻略傅恒璎珞虐点再升级长春宫一霸感情事业双受挫星关系讯:《延禧攻略》本周四更新在即,已经曝光的预告中,傅恒向皇后告知求娶璎珞之心,并向璎珞深情表白求婚,令不少网友大呼发糖多多、甜度爆表。而在网络上备受讨论的璎珞姐姐死亡真相……
电视剧延禧攻略热播李春嫒组团站队舒贵人开启翻身记星关系讯:由惠楷栋、温德光执导,吴谨言、佘诗曼、李春嫒领衔主演,秦岚、聂远、等特别主演的于正最新清宫剧《延禧攻略》正在热播中,精彩的故事情节和紧张的人物关系都让该剧轻松破十五亿……
延禧攻略火到了国外第17集剧情高贵妃正式开启宫斗模式《延禧攻略》正在持续热播,从开播至今,该剧热议不断,俨然成为了今夏的爆款特集,连国外的网友都纷纷跪求该剧的英文版剧情。和一般的宫斗剧不同,该剧女主一开始就是个腹黑女,属于那种典……
资深少女的初恋宋威龙搭档宋茜上演浪漫姐弟恋今日,当代都市浪漫爱情剧《资深少女的的初恋》正式官宣,男主元宋由宋威龙出演,女主贺繁星由宋茜出演,颜值组合十分养眼,备受期待。资深少女的初恋a》宋威龙搭档宋茜srchtt……
文竹白发王妃杀青天真勇敢昭芸郡主引期待由导演李慧珠执导,演员张雪迎、李治廷、经超、罗云熙、陈欣予、文竹等主演的励志传奇电视剧《白发王妃》目前正在拍摄中。近日,剧中昭芸郡主的饰演者文竹顺利杀青。该剧改编于潇湘书……
扶摇璇玑迷局险象环生杨幂阮经天逆流行险何惧狂澜由柠萌影业、柠萌悦心、企鹅影视联合出品,改编自天下归元小说《扶摇皇后》,解嬿嬿编剧,杨文军、谢泽、李才联合执导,杨晓培担任总制片人,杨幂、阮经天领衔主演,刘奕君、王劲松特别主演……
荣耀50的骁龙778g比红米k40Pro的骁龙888,哪一个首先我们讲荣耀50,荣耀50是嗯,第一款自从荣耀分离华为之后的第一款旗舰机搭载了骁龙778g,有很多人说嗯,荣耀50搭载的骁龙778g比红米k40Pro搭载的骁龙888更强,这……
煤气罐在什么情况下会发生爆炸?家庭使用该如何防范?煤气罐会发生爆炸,这是不争的事实,并且还会伴随着巨大的破坏力,给使用者带来严重的人身伤害和财产损失。尤其是夏季,更是煤气罐事故的高发期。那煤气罐究竟在什么情况下会发生爆炸呢?作……
生活的气息晚上准备去车库拿点东西,路过小区楼下广场,好是一片热闹!小孩骑车,玩耍打闹。大人呢?拿这蒲扇,站着在广场或廊亭下,一边扇动着一边起劲的聊天,或是坐在阶梯上休息。超市、健身房、路……
你的下一台游戏主机,可能是特斯拉PS5提到游戏机,你会想起什么?是童年时代的小霸王,或是最新发布的次世代主机PS5和XboxSeriesX?或许也会想到游戏,可能是马里奥和魂斗罗。也有可能是巫师三和20……