orannnn
2016-03-12 15:10
采纳率: 100%
浏览 1.4k
已采纳

关于C语言基础概念问题

刚才迷茫在static的使用,于是看到下面的解释觉得好棒!我在看的C语言程序设计并没有如此详细的解释,谁能推荐一本类似于解释原理的书,就像下图中那种的,告诉你一些名词解释,代码被读取后在系统中如何被分析,被使用?感激之情将溢于言表!图片说明

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • Chely_Yi 2016-03-12 15:42
    已采纳

    以前在图书馆看到过一本叫做 你必须要知道的C256个问题 (大概是叫这个) 里面都是一些很基础的名词解释 或者一些容易弄混淆的知识点

    打赏 评论
  • huang_hao_zi 2016-03-12 15:28

    c primer plus

    打赏 评论
  • 强圆nice 2016-03-12 15:41

    static对全局变量的修饰,可以认为是限制了只能是本文件引用此变量。有的程序是由好多.c文件构成。彼此可以互相引用变量,但加入static修饰之后,只能被本文件中函数引用此变量。

    static对栈变量的修饰,可以认为栈变量的生命周期延长到程序执行结束时。一般来说,栈变量的生命周期由OS管理,在退栈的过程中,栈变量的生命也就结束了。但加入static修饰之后,变量已经不再存储在栈中,而是和全局变量一起存储。同时,离开定义它的函数后不能使用,但如再次调用定义它的函数时,它又可继续使用, 而且保存了前次被调用后留下的值。

    static对函数的修饰与对全局变量的修饰相似,只能被本文件中的函数调用,而不能被同一程序其它文件中的函数调用。

    打赏 评论
  • vectorgd 2016-03-13 03:47

    提个建议:
    要想真正掌握,就去做。
    纸上谈兵都是瞎扯蛋。
    同一个static,在不同情形:不同编译环境、不同版本、不同过程、不同对象中的定义与实际用途都可能不同,任何一本书都只能描述过去,没办法反映现在更没办法预测未来。
    你手头有啥,就去掌握它,同它的特性,别相信书!

    打赏 评论
  • 「已注销」 2016-03-14 00:23

    学习一下由源代码到可执行代码的compilation process,尤其是链接过程,就不难理解static在不同地方的用处了

    打赏 评论
  • 萝卜2305 2016-03-15 12:10

    建议读一下《程序员的自我修养—链接、装载与库》

    打赏 评论
  • w1eix1iao 2016-03-26 07:35

    《c和指针》这本书很不错(中文翻译的很棒),比如你很难想到"adc"[2]会输出什么。甚至可以这样写2["abc"].
    关于static,我觉得有一个很好的例子。你在一个函数里面定义一个一千万长度的int型数组,编译时会报错。然后做一点修改,在数组前面加个static。
    就能顺利通过了。这个例子可以很深刻的说明static型的数据是单独放到一块内存中的。

    打赏 评论

相关推荐 更多相似问题