关于c与c++的学习总结。
目录:
1.c++对c的加强
2.c与c++中const变量的区别
3.register关键字在c++的变化
4.c++对struct类型的加强
c++对c的加强:
在c++中更强调语言的实用性,所有的变量都可以在需要使用时在定义。
int c=0;
printf("begin...\n");
for(int i=0;i<10;i++)
{
for(int j=0;j<10;j++)
{
c+=i*j;
}
}
printf("c=%d\n",c);
printf("End...\n");
而在c语言中变量都必须在作用域开始的位置定义!!
c与c++中const变量的区别:
1.在c语言中const变量只是只读变量,有自己的存储空间。
2.在c++中的const常量有可能分配存储空间
当const常量为全局变量,并且需要在其他文件中使用
当使用&操作符取const常量的地址时
#register关键字的变化:
register关键字请求”编译器“将局部变量存储与寄存器中
而在c中无法取得register变量地址。
在c++中依然支持regtister关键字而c++编译器有自己的优化方式,不使用register也可能做优化。
c++中可以取得register变量的地址,在c++编译器发现程序中需要取register变量的地址时,register对变量的声明变得无效。
#c++对struct类型的加强:
在c语言中struct定义了一组变量的集合,c编译器并不认为这是一种新的类型。
c++中的struct是一个新类型的定义声明
struct student
{
const char *name ;
int age;
};
student s1;
student s2;