int c;
int c = 10;
在C下没问题,在C++下不行,因为重定义。
C语言:返回值,形参类型,参数个数没有检测
但是C++中检测了
char *p = malloc(64)
c++下必须一致:
char *p = (char *)malloc(64)
C语言下结构体不能放函数:
C++下结构体可以放函数,可以简化关键字struct
C++可以通过结构体里的函数修改结构体里的变量
c语言下没有bool类型
c++下有bool类型:
bool会把非0的数转为1来处理。
true 真 1
false 假 0
其实也就是一个宏定义
在c++下三目运算符其实返回的是一个变量
int a=10,int b=100;
a>b?a:b = 1000;
//b的值会被修改为100
在c语言下三目运算符返回的是一个值
在全局定义的const受到常量区的保护,是无法修改的
可以采用指针的间接修改来处理。
和c语言是一样的,间接和直接修改都不行
通过间接修改可以编程完成,但是并不能修改
原文:https://www.cnblogs.com/beautiful7/p/14148906.html