C回顾与C++概述

来源:互联网 发布:村淘宝服务站申请电话 编辑:程序博客网 时间:2024/06/15 04:15

一、C回顾

1. 变量

局部变量:局部变量是在函数中定义的临时变量,作用域是从变量的定义处开始,到函数结尾。

静态局部变量具有局部作用域,它只被初始化一次,自从第一次被初始化直到程序运行结束都一直存在,但静态局部变量只对定义自己的函数体可见。

 

外部变量:外部变量是在函数外部定义的全局变量,作用域从变量的定义处开始,到本程序文件的结尾。

有时需要在其他文件中使用extern来声明外部变量,以扩展外部变量的作用域。

也可用static声明外部变量,使该变量不能被其他文件引用。

 

2. 函数

参数—传值调用

即参数可以看作是便于初始化的局部变量。

void swap(int a,int b)//传值

{

    int temp;

    temp=a;

    a=b;

    b=temp;

}

在main函数中调用swap(a,b)不能真正改变main函数中a,b的值;

 

一种方式是将a,b定义为全局变量,另一种方式是通过传递指针指针即保存变量地址的变量)实现。

void swap(int* a,int* b)//传指针

{

    int temp;

    temp = *a;

    *a = *b;

    *b = temp;

}

在main函数中调用swap(&a,&b)传递变量a,b的指针。

 

对于数组参数,f( int *a ) 等效于 f( int a[] ) ,而函数调用时,f( a ) 同样等效于f( &a[0] )

 

其他,活用struct、enum、typedef、条件编译等。

 

 

二、C++概述

1、标准输出流cin与标准输出流cout

2、结构、枚举名可以直接作为类型名,不必再前面冠以关键字

3、const修饰符可以取代#define来定义常量(C语言中const定义了不可修改的变量)

4、内联函数(inline),插入内联函数代码,用实参代替形参(用空间换时间)

5、带有默认参数的函数,以及允许函数的重载

6、运算符new、delete

7、引用 int &j=i; 变量i和引用j占用内存的同一个地址

引用作为函数参数:

void swap(int &a,int &b)//引用

{

    int temp;

    temp=a;

    a=b;

    b=temp;

}

在main函数中调用swap(a,b)即可,与传递指针效果类似,不过避免了复杂的指针操作。

 

引用返回函数值:

可以将函数放在赋值运算符左边。

0 0
原创粉丝点击