关于C与C++的问题总结

关于c与c++的学习总结。

目录:

1.c++对c的加强

2.c与c++中const变量的区别

3.register关键字在c++的变化

4.c++对struct类型的加强

c++对c的加强:

在c++中更强调语言的实用性,所有的变量都可以在需要使用时在定义。
这里写图片描述

int c=0printf"begin...\n");
forint 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;

猜你喜欢

转载自blog.csdn.net/qq_37272520/article/details/82431795