`
dengyin2000
  • 浏览: 1225909 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

请问我有没有学C的必要

阅读更多
本人在大学里面有学过C(就是谭浩强那本书),但是只学了一些非常简单的东西(类型 操作符 流程控制),指针更本没有接触过, 当时是因为课时不够,老师推脱。毕业后一直从事java方面的开发。对java也是非常感兴趣。收获也不少,但是前几天有个同学(搞。net的)说他想转行搞C++嵌入式。说那个技术更强。而且变化太少,不像java 。net那样天天有那么多东西要学。C++更底层, 技术变更更小。而且能够完全控制操作系统。能使他有满足感。

当然我不会转入C的行列的,因为我喜欢java, j2ee。 但是C一直是我的一块心病,更想揭开指针的神秘面纱。

请大师指点。
分享到:
评论
15 楼 bigpanda 2006-12-01  
指针难个屁,根据我以前教学经验,一天搞定,再练习两天,主流用法三天精通。一个简简单单的东西给一帮庸师搞得没必要的复杂。

当然下列用法还是有点挑战难度的:

char *(*c[10])(int **p);

来到C++圈子吧,我们教你。
14 楼 刑天战士 2006-12-01  
runes 写道
刑天战士 写道
runes 写道
刑天战士 写道
学C还是有必要的,指针是程序员level up之前的必要技能,越早升越好


我一直都是做C 和 C++的,Java 也用,我咋就想不出来,如果弄java的话,非的了解指针呢?

说说看?


学指针是理解计算机底层知识的前提,话说回来的,java只是一种语言而已,语言之外的技术比语言重要


不是抬杠,是真的好奇:到底啥计算机底层的知识非得理解指针不可?

指针说到底,不过是可以进行运算的间接访问而已(java中的引用也是间接访问,只不过这个间接访问不能运算而已)。

当然和指针经常缠绕在一块的一个常见的东西,就是动态内存分配,这个本身主要是操作系统的事情,而不是什么指针。

对于,大多数程序员来说,如果真的想了解一些系统底层的话,ASM和操作系统原理是很有帮助的,

如果还有时间,研究一下编译器的后端,对,是后端!而不是什么词法分析语法分析的前端。可能会更有帮助。

偶,正在努力。


当然,再往下走,对一般性的编程,可能就没有什么帮助了,就算是写操作系统和编译器也不用考虑什么微程序的实现问题。



这个……我不是C专家,但我始终认为C必学,指针必学,心里有话,可是组织不起来……
13 楼 runes 2006-12-01  
刑天战士 写道
runes 写道
刑天战士 写道
学C还是有必要的,指针是程序员level up之前的必要技能,越早升越好


我一直都是做C 和 C++的,Java 也用,我咋就想不出来,如果弄java的话,非的了解指针呢?

说说看?


学指针是理解计算机底层知识的前提,话说回来的,java只是一种语言而已,语言之外的技术比语言重要


不是抬杠,是真的好奇:到底啥计算机底层的知识非得理解指针不可?

指针说到底,不过是可以进行运算的间接访问而已(java中的引用也是间接访问,只不过这个间接访问不能运算而已)。

当然和指针经常缠绕在一块的一个常见的东西,就是动态内存分配,这个本身主要是操作系统的事情,而不是什么指针。

对于,大多数程序员来说,如果真的想了解一些系统底层的话,ASM和操作系统原理是很有帮助的,

如果还有时间,研究一下编译器的后端,对,是后端!而不是什么词法分析语法分析的前端。可能会更有帮助。

偶,正在努力。


当然,再往下走,对一般性的编程,可能就没有什么帮助了,就算是写操作系统和编译器也不用考虑什么微程序的实现问题。

12 楼 冉翔 2006-12-01  
jack 写道
刑天战士 写道
学C还是有必要的,指针是程序员level up之前的必要技能,越早升越好


有种理论,能不能理解指针的概念,是天生的.能够搞明白就会明白,搞不明白,好久还是绕不过去.


严重赞同,我就属于天生不明白,至今也不明白的那种。

所以早早的就放弃C++了。当然,学数据结构的时候还是用C/C++写DEMO,毕竟经典的教材上用C/C++描述的多一些。
11 楼 jack 2006-12-01  
刑天战士 写道
学C还是有必要的,指针是程序员level up之前的必要技能,越早升越好


有种理论,能不能理解指针的概念,是天生的.能够搞明白就会明白,搞不明白,好久还是绕不过去.
10 楼 dengyin2000 2006-12-01  
runes 写道
刑天战士 写道
学C还是有必要的,指针是程序员level up之前的必要技能,越早升越好


我一直都是做C 和 C++的,Java 也用,我咋就想不出来,如果弄java的话,非的了解指针呢?

说说看?


了解下。 听那帮人说把指针搞得昏天暗地的
9 楼 dengyin2000 2006-12-01  
runes 写道
dengyin2000 写道
本人在大学里面有学过C(就是谭浩强那本书),但是只学了一些非常简单的东西(类型 操作符 流程控制),指针更本没有接触过, 当时是因为课时不够,老师推脱。毕业后一直从事java方面的开发。对java也是非常感兴趣。收获也不少,但是前几天有个同学(搞。net的)说他想转行搞C++嵌入式。说那个技术更强。而且变化太少,不像java 。net那样天天有那么多东西要学。C++更底层, 技术变更更小。而且能够完全控制操作系统。能使他有满足感。

当然我不会转入C的行列的,因为我喜欢java, j2ee。 但是C一直是我的一块心病,更想揭开指针的神秘面纱。

请大师指点。



哥们,如果你J2EE一直都做的挺好的话,真的没有必要转过来做C 和 C++,做C 和 C++ 也没啥令你羡慕的。

如果真的要做嵌入式的话,很多在做上层应用时基本不会考虑的硬件问题也会接踵而来,变化也不小。

C++有什么底层的? 没有操作系统的支持,啥也玩不转,何谈能完全控制操作系统???

C++技术变更小吗? better c 到 模板 到boost,哪个我都不认为比掌握一个J2EE的框架来的简单。
而且,各个平台各个编译器各个厂商都有一套,够折腾的。

说到满足感,不知道是啥意思?
如果仅仅是智力上的挑战,那c++以外的好玩的东西多了去了,干吗非的在c++上较劲呢?
c++里面智力上的挑战好多都是折腾编译器的玩意,实用性相当有限,如果真用到工作中迟早自己砸自己的脚。

另外,真的不知道你说的“更想揭开指针的神秘面纱。”是何意思,指针有啥神秘的? 何必把没有掌握它当作
一块心病呢?










多谢!我说了我不会转搞C\C++因为我对J2ee还是瞒感兴趣的。确实像你说的是一块“心病”。继续大学未完成的课程。
8 楼 刑天战士 2006-12-01  
runes 写道
刑天战士 写道
学C还是有必要的,指针是程序员level up之前的必要技能,越早升越好


我一直都是做C 和 C++的,Java 也用,我咋就想不出来,如果弄java的话,非的了解指针呢?

说说看?


学指针是理解计算机底层知识的前提,话说回来的,java只是一种语言而已,语言之外的技术比语言重要
7 楼 wzgme 2006-12-01  
指针,一个门牌号,折腾什么呢
6 楼 runes 2006-12-01  
刑天战士 写道
学C还是有必要的,指针是程序员level up之前的必要技能,越早升越好


我一直都是做C 和 C++的,Java 也用,我咋就想不出来,如果弄java的话,非的了解指针呢?

说说看?
5 楼 刑天战士 2006-12-01  
学C还是有必要的,指针是程序员level up之前的必要技能,越早升越好
4 楼 runes 2006-12-01  
dengyin2000 写道
本人在大学里面有学过C(就是谭浩强那本书),但是只学了一些非常简单的东西(类型 操作符 流程控制),指针更本没有接触过, 当时是因为课时不够,老师推脱。毕业后一直从事java方面的开发。对java也是非常感兴趣。收获也不少,但是前几天有个同学(搞。net的)说他想转行搞C++嵌入式。说那个技术更强。而且变化太少,不像java 。net那样天天有那么多东西要学。C++更底层, 技术变更更小。而且能够完全控制操作系统。能使他有满足感。

当然我不会转入C的行列的,因为我喜欢java, j2ee。 但是C一直是我的一块心病,更想揭开指针的神秘面纱。

请大师指点。



哥们,如果你J2EE一直都做的挺好的话,真的没有必要转过来做C 和 C++,做C 和 C++ 也没啥令你羡慕的。

如果真的要做嵌入式的话,很多在做上层应用时基本不会考虑的硬件问题也会接踵而来,变化也不小。

C++有什么底层的? 没有操作系统的支持,啥也玩不转,何谈能完全控制操作系统???

C++技术变更小吗? better c 到 模板 到boost,哪个我都不认为比掌握一个J2EE的框架来的简单。
而且,各个平台各个编译器各个厂商都有一套,够折腾的。

说到满足感,不知道是啥意思?
如果仅仅是智力上的挑战,那c++以外的好玩的东西多了去了,干吗非的在c++上较劲呢?
c++里面智力上的挑战好多都是折腾编译器的玩意,实用性相当有限,如果真用到工作中迟早自己砸自己的脚。

另外,真的不知道你说的“更想揭开指针的神秘面纱。”是何意思,指针有啥神秘的? 何必把没有掌握它当作
一块心病呢?








3 楼 dengyin2000 2006-12-01  
JavaVision 写道
真有空阿,佩服


时间像海绵, 是靠积出来的
2 楼 dengyin2000 2006-12-01  
hurricane1026 写道
dengyin2000 写道
本人在大学里面有学过C(就是谭浩强那本书),但是只学了一些非常简单的东西(类型 操作符 流程控制),指针更本没有接触过, 当时是因为课时不够,老师推脱。毕业后一直从事java方面的开发。对java也是非常感兴趣。收获也不少,但是前几天有个同学(搞。net的)说他想转行搞C++嵌入式。说那个技术更强。而且变化太少,不像java 。net那样天天有那么多东西要学。C++更底层, 技术变更更小。而且能够完全控制操作系统。能使他有满足感。

当然我不会转入C的行列的,因为我喜欢java, j2ee。 但是C一直是我的一块心病,更想揭开指针的神秘面纱。

请大师指点。


加入我们的c++圈子吧。呵呵


谢谢, 等我入门后 我会的, 昨天看了下C。 Code结构完全忘记了。

昨天装了cdt + MinGW-3.1.0.1.exe  调试的时候总是会弹出个cmd窗口 而不是在eclipse的console上面。
1 楼 刑天战士 2006-12-01  
要是连指针都不懂,恐怕有必要,指针很重要的……

相关推荐

    C语言实践的心得体会.doc

    通过这次C语言的实践学习,我有以下几点深刻的体会。 首先,实践是学习C语言的关键。理论知识虽然重要,但只有通过编写代码、运行程序和调试错误,我们才能真正理解和掌握C语言。在实践中,我们面对陌生的概念和...

    《你必须知道的495个C语言问题》

    《你必须知道的495个C语言问题》结构清晰,讲解透彻,是各高校相关专业C语言课程很好的教学参考书,也是各层次C程序员的优秀实践指南。 -----------------------------------------------------------------------...

    Qt实现简单的C/S架构

    在IT领域,C/S(Client/Server)架构是一种常见的分布式应用设计模式,它将应用程序分为两个部分:客户端(Client)和服务器端(Server)。客户端通常处理用户交互,而服务器端则提供数据处理和服务。本项目利用Qt...

    你必须知道的495个C语言问题

    1.3 因为C语言没有精确定义类型的大小,所以我一般都用typedef定义int16和int32。然后根据实际的机器环境把它们定义为int、short、long等类型。这样看来,所有的问题都解决了,是吗? 1.4 新的64位机上的64位类型...

    NullOS:NullOS:我有~~没有~~我在做什么

    7. **Bootloader 开发**:启动加载器是操作系统启动的第一部分,负责加载内核到内存并初始化必要的硬件。NullOS 的开发可能涉及自定义 bootloader 来启动操作系统。 从文件名 "NullOS-NoolOS-SOARE" 看,这可能是...

    unit航空服务英语PPT教案学习.pptx

    9. **help … with** - 在…帮助下:为乘客提供必要的协助。 10. **trouble** - 惹麻烦:乘客可能遇到的问题或困扰。 【Words Study】部分强调了这些词汇的记忆和理解,例如: 1. **row** - 一排 2. **ticket** - ...

    STC89C52RC单片机开发板PDF原理图.zip

    STC89C52RC开发板则是为了方便开发者进行程序编写、调试和学习所设计的平台,它包含了必要的外围电路和接口,使得用户能够快速上手并进行项目开发。 首先,我们要理解STC89C52RC单片机的核心特性。它基于MCS-51内核...

    uc-os-ii-2.89 for lcc-win32

    描述中的“看标题就知道了吧,不知道有没有人和我有一样的爱好”暗示了这个项目可能来自于个人爱好者或开发者社区,分享他对μC/OS-II移植工作的成果,期待与有相同兴趣的人交流。 标签 "我把之前的移植更新到了...

    txwb_iperf,局域网测速工具服务端和客户端

    天下网吧手机APP,你有我有全都有工具说明: 网吧局域网测速目前在网维工作中比较重要,特别是最近2.5G网吧局域网方案大热门,很多网吧需要在测试后对比测试前网速有没实质的提升。 这个时候用txwb_iperf工具很有...

    三年级英语下册Unit6HowMany第6课时作业人教PEP版202004052122

    正确顺序应为:C. twenty, H. nineteen, G. eighteen, F. fifteen, D. fourteen, E. twelve, B. thirteen, A. eleven。这部分练习旨在训练学生的数字比较和序列理解能力。 第二部分是情景对话的选择题。1. 想知道...

    c#学习笔记.txt

    他们觉得现在的语言太多了,没有必要再多出一种来添乱子。但是当他们看完C#的文档后又开始高兴起来,因为C#是如此简单:事实上,简单正是C#最大的特点。除此之外,它还具有现代、面向对象、类型安全、版本控制、兼容...

    matlab的双曲线代码-CFD-1_2013:计算流体动力学代码

    计算流体动力学代码 该存储库包含一些C ++入门级计算流体力学代码(CFD)。 添加这些代码是为了展示一些良好的功能,例如管道,从而将绘图直接输出到GN​​Uplot。 这些代码更符合函数式编程方法,并且将输出网格...

    药店销售社会实践报告.doc

    作为一名药店助手,我主要的工作是打扫卫生、整理药品、接待顾客,以及在必要时提供一些基础的医药咨询。这些看似简单的工作背后,蕴含着对服务态度和专业知识的高要求。 首先,良好的服务态度至关重要。顾客在药店...

    人教版pep(三年级起点)(2012教材)小学三上Unit 4 We love animals Period Five同步练习

    这篇内容是关于人教版PEP小学英语教材三年级起点2012版第三册Unit 4 "We love animals" 第五课的同步练习,主要目的是帮助学生巩固本单元所学的动物相关词汇和句型。下面将详细解析这部分练习内容及其相关的知识点。...

    2016七年级语文下册第二单元8少年爱因斯坦同步练习新版语文版

    他可能会说:“因为我的错误和失败会很多,一个大的废纸篓能装下我所有的尝试和错误,让我有更多的空间去尝试新的想法。” 这个练习旨在让学生深入理解文章内容,体会爱因斯坦的成长历程,学习他的求知精神,并通过...

    面试简单自我介绍4篇精选.doc

    4. **计算机技能**:强调计算机知识和应用能力,如"能熟练进行windows98操作,使用c,qbasic等语言编程",并熟悉Office软件,这对于大多数现代工作岗位都是必要的。 5. **组织协调能力与个人品质**:提及在校期间...

    Reversing:逆向工程揭密

    这时候,我逐渐明白这是一种威力强大的技术,因为这意味着不管我有什么样的有关要处理软件的问题,我都可以非常容易地找到答案,即使我没有看过任何相关的文献资料或者正在处理的程序的源代码。本书就是要为每一个对...

Global site tag (gtag.js) - Google Analytics