【精品】C 复习笔记.docC卄学****笔记
编译、连接、运行
Compile命令是编译源程序,生成二进制文件;Build命令是连接建立应用程序,生成 EXE文件;Execute命令为运行程序。
函数的声明与定义的区别
声明只是告诉编译器有这么一个函数,在内存中没有为其分配内存,而只有在定义的时 候才为其分配内存空间。
许多时间可以不声明函数而直接定义,但这不是一个良好的编程****惯。在某些情况下, 函数A可能要调用函数B,而函数B也要调用函数A,则就会有问题了:
#include <iostream>
using namespace std;
void A();
void B();
int main()
{
A();
B();
return 0;
}
void A()
{
cout«"函数 A\n";
B();
}
void B()
{
cout«"函数 B\n";
A();
}
以上代码,如果不声明函数,则编译无法通过。
1. C++数据类型
6 种数据类型:bool、char、双字节型(wchar_t)> int> float、double
、r,表示回车。注意,回车并不等于换行,回车只是将光标回到改行的起始位置。’\n,才会回 车加换行。
2•面向对象
类的成员默认为私有,在类体之后必须加“;”。
3 •指针
指针保存的是另一个对象的地址。
string* psi , ps2; //只把psi定义为指针,ps2并非指针,只是一个普通的string对 象而已。
string* psi , *ps2; //这样才是定义两个指针变量。
指针可能的取值
一个有效的指针必然是一下三种状态之一:保存一个特定对象的地址;指向某个对象后 面的另一个对象;或者是0。
很多运行时的错误都源于使用了未初始化的指针。
对大多数编译器来说,如果使用未初始化的指针,会将指针中存放的这个不确定值视为 地址,然后操作该内存地址中存放的内容。使用未初始化的指针相当于操作这个不确定地址 中存储的基础数据。
指针在使用前要进行初始化。
Int *p ; p=0 ;// 正确 p=10 ; //错误 p=NULL ;〃正确 p=null;〃错误
int *p ;
int *p ;
const int i=0 ;
int i=0;
p=i ;
p二 i ;
正确
错误
int count;
int *ptr;
*ptr=5& //error,未初始化就直接赋值
double dval;
double *pd =&dval ; //
double *pd2=pd ; //
int *pi=pd ; //类型不同,一个是double型,一个是ini■型
pi = &dval : 〃类型不同
void* 指针
一种特殊的指针类型void*,它可以保存任何类型对象的地址。
double obj = ;
double *pd = &obj ;
void *pv 二&obj ;
pv = pd;
void*表明该指针与一地址值相关,但不清楚存储在此地址上的对象的类型。
void*指
【精品】C 复习笔记 来自淘豆网www.taodocs.com转载请标明出处.