杨辉三角c语言讲解大神讲解一下

雷速体育发帖软件开发QQ乐学 会学 多求 善思千里之行 始于足下
欢迎加入我们,一同切磋技术 &
用户名: &&&
密 码: &
共有 1525 人关注过本帖
标题:求c语言结构体大小,编程输出的和计算不一样...求大神帮忙讲解一下啊?谢谢 ...
等 级:论坛游民
帖 子:76
专家分:16
结帖率:86.21%
&&已结贴√
&&问题点数:2&&回复次数:7&&&
求c语言结构体大小,编程输出的和计算不一样...求大神帮忙讲解一下啊?谢谢~~
以下结构体stu5,我计算的是16,但是代码输出的是20。。。为什么啊?
&struct stu5
&&&&&&struct
&&&&&&&&&&&
&&&&&&&&&&&
搜索更多相关主题的帖子:
等 级:论坛游民
帖 子:57
专家分:58
你只有结构体,跟你的计算过程没有关系!具体点可以互助
等 级:论坛游民
帖 子:76
专家分:16
回复 2楼 luoye1994
就是printf(&%d&,sizeof(stu5));啊。。
等 级:黑侠
帖 子:107
专家分:534
不知道你怎么算出的16个字节。
按char占1个、int占4个计算,应该是11个字节,之所以实际占20个字节,我觉得是内存对齐的需要。由于使用了结构体嵌套,将结构体内的变量分成3段,每段都需要内存对齐,即每段内存必须是4的倍数,第一段是char i,虽然只需要1个字节,但实际占4字节;第二段是char 出,int j,虽只需要5字节,但占8字节,具体应该是char c占4个,可以用&stu5.ss.j-&stu5.ss.c=4验证;第三段是char a至char f,虽只需要5个,但必须占8个才能保证对齐,具体应该是f占4个,这样这个结构体实际占用空间为4+8+8=20。
等 级:贵宾
威 望:304
帖 子:25793
专家分:48814
任何時候都不要自己去算結構的尺寸,在代碼中也不要假定你知道那些細節,這跟未定義行爲是一樣的性質。
授人以渔,不授人以鱼。
等 级:黑侠
帖 子:107
专家分:534
回复 5楼 TonyDeng
版主说的是!
自己写肯定不需要关心这些,不过结构体可以当一条记录直接存到文件,当存在兼容问题时,还是要关心结构体元素具体位置的,比如bmp文件头,就是一个结构体,许多人解析时不会再使用原定义的结构体了,都是缓存到内存,用指针来访问,好在bmp文件头都指明了各元素相对位置,如未指明,你就必须分析结构体各元素位置了,还只能按16位编译器的规则分析。
等 级:版主
威 望:245
帖 子:5578
专家分:31506
回复 6楼 拉链
自己指定对齐方式
等 级:论坛游民
帖 子:76
专家分:16
回复 4楼 拉链
第一个char为什么是4个字节呢,应该是偏移量0+自身字节1,应该是1啊。。
版权所有,并保留所有权利。
Powered by , Processed in 0.041404 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved求大神讲解一下这两个C语言题~~谢了~~_百度知道
求大神讲解一下这两个C语言题~~谢了~~
1、#include &stdio.h&
#include &string.h&
void  main( )
        char  b[30];
        strcpy (&b[0],&KFC&);
        st...
我有更好的答案
第一题:KWAHA第二题:错的,是把r的地址赋值给p
采纳率:75%
来自团队:
程序错了吧?怎么可能呢
您看一下第二题吧
第一提我已经会啦 谢谢!
抱歉我还没学到指针函数
case后面没有,那就要顺序向下执行。所以v1++;和v2++;都执行了6次,最后都是6,B)正确。
为您推荐:
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。求C语言大神帮忙讲解一下里面每一句的意思_百度知道
求C语言大神帮忙讲解一下里面每一句的意思
#include&stdio.h&void main(){ int a,b,c; printf(&Please input a,b:&); scanf(&%d,%d&,&a,&b); c=a+b; printf(&%d+%d=%d\n&,a,b,c);}
我有更好的答案
#include&stdio.h&void&main(){&//&定义三个变量a,b,c&int&a,b,c;&//&提示用户输入a&,b的值&printf(&Please&input&a,b:&);&//&&输入a和b的值&scanf(&%d,%d&,&a,&b);&//&把a和b的值相加给c&c=a+b;&//&输出a+&b&=&c的值&printf(&%d+%d=%d\n&,a,b,c);}
高级软件工程师
//&包含调用printf、scanf等需要用到的头文件#include&stdio.h&&//&主函数,程序的入口&&&&&&&&&&&&&&&&&&&void&main()&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&{&&&&//&定义a、b、c三个整形变量&&&&int&a,b,c;&&&&&//&显示输出一句话“Please&input&a,b:”&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&printf(&Please&input&a,b:&);&&&&&&&//&读取用户从键盘输入的以逗号隔开的两个数,分别存在a和b中&&&&&&&&scanf(&%d,%d&,&a,&b);&&&&&&//&计算c=a+b;&&&&&&&&&&&&&c=a+b;&&&&&&&&&&&&//&显示输出&a+b=c的值,a,b,c以数值的形式显示,其中\n为转移字符表示回车换行&&&&&&&&printf(&%d+%d=%d\n&,a,b,c);&&}
为您推荐:
其他类似问题
c语言的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。C语言-小弟研究了两天还没完全看明白,求大神给讲解讲解,谢谢
[问题点数:40分]
本版专家分:0
结帖率 50%
CSDN今日推荐
本版专家分:0
本版专家分:3901
2013年7月 Linux/Unix社区大版内专家分月排行榜第一
2013年10月 Linux/Unix社区大版内专家分月排行榜第二2013年9月 Linux/Unix社区大版内专家分月排行榜第二
2013年12月 Linux/Unix社区大版内专家分月排行榜第三2013年11月 Linux/Unix社区大版内专家分月排行榜第三2013年6月 Linux/Unix社区大版内专家分月排行榜第三
本版专家分:4268
本版专家分:0
结帖率 50%
本版专家分:3611
本版专家分:0
本版专家分:8423
2017年12月 C++ Builder大版内专家分月排行榜第一2016年12月 C++ Builder大版内专家分月排行榜第一2016年11月 C++ Builder大版内专家分月排行榜第一2016年9月 C++ Builder大版内专家分月排行榜第一2016年8月 C++ Builder大版内专家分月排行榜第一
本版专家分:0
本版专家分:3133
本版专家分:48
本版专家分:368177
2017年 总版技术专家分年内排行榜第一
2014年 总版技术专家分年内排行榜第二
2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
本版专家分:22
本版专家分:4268
匿名用户不能发表回复!|
CSDN今日推荐

我要回帖

更多关于 c语言乘法编程讲解 的文章

 

随机推荐