鱼C论坛

 找回密码
 立即注册
查看: 3734|回复: 3

【持续更新】--C语言问题汇总--望大家能不吝赐教

[复制链接]
发表于 2013-3-30 11:20:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 yjcyxky 于 2013-3-30 11:21 编辑

这是我在学习C语言的过程中遇到的问题,每天都会整理并上传,不知各位有没有同样的疑惑,由于本人是医学研究生,也是考研的时候才下决心学习计算机的,边学习计算机理论边准备考研,所以学的肯定是不系统的,首先学的是linux系统管理,已入手,但由于没有学习操作系统和编译原理,所以学C编程中遇到的很多疑惑都与之相关,但现在又转向系统学习操作系统和编译原理的话,时间实在是不允许,因此才想到在论坛发问题,求各位的答案或者告诉我,相关理论知识在哪本书哪个地方。谢谢各位!
我所看过的教材:
1.郝斌的C语言入门教程,已完整学习了两遍且上面的练习都自己动手编写通过了
2.C程序设计语言---K&R中译本,现在在看前面几章,但是后面涉及到文件操作以及unix系统的部分并未曾看过
3.C和指针----刚开始看
4.王爽老师的《汇编语言》
5.鸟哥Linux私房菜
6.其他(就是指看过一小部分但没有认真完整的看得书籍,这就太多了,不一一说了,我自己电脑里面的计算机书籍应该超过400--500本了,有需要的人也可以发消息给我,不过这些书大部分都可以直接在谷歌(书名+filetype:pdf)或者新浪爱问找到)


1>其中有些问题问的太泛了,我知道这点,而且有很多问题是只有具备很多综合性的知识之后才能理解的,不过我还是全部贴出来了,或许某些有独到见解的人能够一针见血
2>有些问题的描述是有问题的,可能因为知识缺乏无法详细描述清楚,望见谅!
3>本人学的东西很杂,且没有系统学习,所以可能理解上出现问题,如果是这样,望大家能抽时间批评指正
4>对于一些名词解释,如果谷歌上直接有答案,而我在这问了的话,我说声抱歉:1.可能我没有搜索到而直接写上来了  2.可能为了问题的完整性而写在了问题中
5>写出我看过的教程的目的是若有哪个知识是在这些书里面有,而我没有注意到,望大家指出

我本人是很反感一些百度或谷歌一下就能搜到答案的,还来论坛上发帖或群里面询问的,如果你也属于同样的人,那么希望上面的解释会让你觉得好受些。


小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-3-30 11:21:27 | 显示全部楼层
问题集锦:
3月29日----C和指针----第6章 指针----第91页始
1.NULL指针的具体实现,它的实现与编译器及操作系统有何关联?

2.编译器,内存,操作系统三者之间是什么样的关系,主要是有疑惑编写程序后操作系统起到什么作用,操作系统是如何管理程序运行的?编写程序时是否需要专门编写代码协助操作系统的管理,还是直接交由编译器实现?(编译器是与操作系统密切相关且匹配的,这个我懂得,是否可以说编译器编译过程中就为特定操作系统对程序运行时的管理进行了考虑,或者换句话说,编译器是否为方便操作系统的管理而在源代码编译后的基础上添加了与操作系统适应的内容)

3.名字与内存位置的关联不是有硬件所提供的,而是由编译器实现的,这点我知道,但是编译器在编译时肯定是不会有实际地址给出的,那么是通过给出偏移量而实现的?(类似于汇编中的实现方式)

4.非法指针引起的错误与具体的操作系统有什么关系?这个问题的源于对《C和指针》p95页那段“警告:”的话不理解(我想这应该在操作系统原理里面会有提到,不过自己去找由于大海捞针且前后知识欠缺,理解上肯定会存在问题)

5.硬件事项:边界对齐是怎么一回事?

6.静态变量会被初始化为0,而自动变量则不会被初始化,这两个变量具体实现上有何区别,编译器这样实现的目的是?


7.声明变量而不初始化与定义变量在编译器的实现而言有何差别,我记得书中好像提到了声明变量的话并不会分配空间,而定义变量则会同时分配空间,那么若没有分配空间,那C和指针一书p95--6.5 未初始化和非法的指针一小节,例子中直接将12赋值给*a,那此时赋值后,肯定是获取指针a中的内容然后再将12存储在相应地址,那么既然a没有分配空间,那如何能有内容作为地址?(注:我知道这个例子是错误的举例,但是我分析过了,与我想要问的问题并不冲突)

8.为了测试一个指针变量是否为NULL,可将其与0进行比较,如何进行?直接使用比较表达式还是其他?

9.编译器负责零值和内部值之间的翻译转换,这个是如何实现的?(这个内部值指的是NULL,但我想这个翻译转换在编译器应该是很普遍存在的)

10.编译器如何区分常量的类型?(这个问题似乎可以一句话解释,就是依据二进制的值来进行,不过我似乎希望得到更具体有说服性的答案)
(其实我每天产生的疑惑都在20以上,不过怕鱼油没兴趣回答我的问题,所以先贴10个看看,另外读研的孩子是痛苦的,身不由己,没太多时间,也只有看看计算机理论,敲敲代码寻一慰藉了。不过目前知识太欠缺,急需进补,望各位不吝赐教!任何认为可以的答案都可以告诉我,再次谢谢!)
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-3-30 13:02:18 | 显示全部楼层
顶起 我不能回答问题 但帮顶帖让会的人给你帮助
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-3-30 14:44:44 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-4 22:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表