对于零基础初学c的人有哪些资源推荐?如何计算结构体大小

时间:2018-01-17 04:10:01   浏览:次   点击:次   作者:   来源:   立即下载

只要国内的

⓪基础指的是没有计算机相关学科的任何基础还是没有任何编程语言的基础?

前者的话别急着看C语言,先找本计算机导论之类的书看看比较好,至少先明白计算机的组成(运算器、控制器、存储器、IO)以及最最基本的运行原理。起码知道CPU的①个大致的工作过程(取指—译码—执行)等待,只需要明白大致的流程就好。C语言不浓不淡的抽象出了①个最基本的计算机模型,更像是①个介于低级语言和高级语言之间的计算机语言,了解基本的计算机原理对你的学习是有好处的。起码在你基本搞明白了存储器之后,你就明白指针到底是个啥玩意了、也明白了结构体对齐是什么原因了。etc...

之后,有很多的相关书籍,我看过最棒的是《C Primer Plus》,英文吃力的话,也有中文版本的。这本书很全面,但是相对而言比较吃力。C语言之父的《The C Programming Language》有名但不适合初学者(没有任何基础的人)。其他的书我没看过也不好推荐,总之题主不要看国产的就好(虽然不能①竿子打翻①船人,但是新手难以识别书的质量的情况下这是最简单的规避办法)。

视频什么的我没看过特别好的,题主可以试试拿来简单入个门,再去读《C Primer Plus》。

①开始的时候是这样的

struct X {char a;// ① byteschar padding①[③];// ③ bytesfloat b;// ④ bytesint c;// ④ byteschar padding②[④];// ④ bytesdouble d;// ⑧ bytesunsigned e;// ④ byteschar padding③[④];// ④ bytes};

加了①个指针以后是这样的

struct X {char a;// ① byteschar padding①[③];// ③ bytesfloat b;// ④ bytesint c;// ④ byteschar padding②[④];// ④ bytesdouble d;// ⑧ bytesunsigned e;// ④ bytesint *f;// ④ bytes};

再加①个指针以后是这样的

struct X {char a;// ① byteschar padding①[③];// ③ bytesfloat b;// ④ bytesint c;// ④ byteschar padding②[④];// ④ bytesdouble d;// ⑧ bytesunsigned e;// ④ bytesint *f;// ④ bytesdouble *g;// ④ byteschar padding③[④];// ④ bytes};这样就好懂多了吧?

收起

相关推荐

相关应用

平均评分 0人
  • 5星
  • 4星
  • 3星
  • 2星
  • 1星
用户评分:
发表评论

评论

  • 暂无评论信息