关于C语言基础概念问题

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

c

7个回答

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

Chely_Yi
Chely_Yi 回复labuboco: 嗯嗯
4 年多之前 回复
labuboco
orannnn 回复Chely_Yi: 495个C语言问题![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/6.gif)
4 年多之前 回复
Chely_Yi
Chely_Yi 回复labuboco: 我看不到图哦
4 年多之前 回复
labuboco
orannnn 回复Chely_Yi: 没有256 只找到这个 是吗?![图片说明](http://img.ask.csdn.net/upload/201603/13/1457848937_561800.png)
4 年多之前 回复

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

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

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

c primer plus

yaoyuanxxgc
淅阳 这本书讲的很细,之前刚看过
4 年多之前 回复

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

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

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

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐