引用 420 楼 jiqiang01234 的回复:
确实没什么大区别,不过小区别有时候也比较让人郁闷,比如:
1、c必须把变量定义在函数首部
2、枚举类型的变量几乎和整型没什么区别,可以互相赋值。在c++里只能枚举变量赋值给整型,不能反过来
3、c里的const关键字太弱了,即使用const修饰也不能当常量用,比如const int N = 10;int a[N];这样是不合语法的。
当然还有不少细微的差别,上面仅列出本人经常碰到的“小”麻烦。
不过,至于lbing7后面一大段的阐述我没太看明白是针对什么问题提出的。
1、c必须把变量定义在函数首部//这个习惯好哈!!!省得有些人乱七八糟,四处定义变量,然后在一大段代码里找不着哪来的.特别是全局变量,有的人特别喜欢用,因为没有作用域的问题,这个经常怎么死都不知道.
集中定义变量,并加必要的注释,这还算是一个好习惯
2、枚举类型的变量几乎和整型没什么区别,可以互相赋值。在c++里只能枚举变量赋值给整型,不能反过来
不知道别人怎么弄的,反正我没乱倒腾枚举过,呵呵,没碰到过枚举被乱改的情况
3、c里的const关键字太弱了,即使用const修饰也不能当常量用,比如const int N = 10;int a[N];这样是不合语法的。
说是不语法,不过感觉是合现实的,因为,常量,虽然值不变,但是它是具备量的属性的
也就是说它真实存在,有地址.哪怕是像单片机这样把常量放ROM里面
但是,因为有地址,它就可以被用别的手段去改动
如果被改动,多占分配的空间,而别的变量不变的情况下.很有可能就让整个程序崩溃
所以,我觉得C还是有一定的道理的.具体CPP为什么允许,晚了,准备回去.暂不做设想
至于我的那点调试,我只是想和417楼说说
CPP带来的软件开发管理上的优越性,在单片机的这个层次没有多大的用处
当然,这个是我自家之言