C到C++的升级

  1. c++更强调语言的实用性
  2. 所有变量都可以在需要使用时再定义
  3. 对比c语言中的变量都必须在作用域开始的位置定义
  4. register关键字请求编译器将局部变量存储于寄存器中
  5. c语言中无法获取register变量的地址
  6. c++中可以获取register变量的地址,C++编译器发现程序中需要取register变量的地址时,register对变量的声明变得无效
  7. c语言,重复定义多个同名的全局变量是合法的
  8. c语言中多个同名的全局变量最终会被链接到全局数据区的同一个地址空间上
  9. struct关键字的加强,c语言中的struct定义了一组变量的集合,struct定义的标识符并不是一种新的类型,c++中的struct用于定义一个全新的类型

  10. int f() 和 int f(void)有区别吗?如果有区别是什么?

c++的所有标识符都必须显示的声明类型

c语言中的默认类型在c++中是不合法的

f(i)
{
    printf("i = %d\n", i);
}

g()
{
    return 5;
}

函数f的返回值和参数分别是什么类型?函数g可以接受多少个参数?

在c语言中

int f() 表示返回值int接受任意参数的函数

f(void)表示返回值int无参函数

 

在c++中

int f() 和 f(void) 具有相同的意义

  • 表示返回值int无参函数

11.c++中bool类型  基本数据类型

12.三目运算符

c语言中的三目运算符返回的是变量值

        -不能作为左值使用

c++中的三目运算符可直接返回变量本身 

        -即可作为右值使用,又可作为左值使用

注意:

       三目运算符可能返回的值中如果有一个常量值,则不能作为左值使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值