C++语法-指针 (1)

时间:2021-01-23 14:35:47

《C++程序设计》 谭浩强  清华大学出版社 2016-08-03

1、P167

一般的C++编译系统为每个指针变量分配4个字节的存储单元,用来存放变量的地址。

2、P169 .cpp文件头

通常写法:

#include <iostream>

using namespace std;

说明:命名空间是C++的一种机制,C++的所有标识符都被定义在std命名空间中。使用std命名空间后,输入输出可以直接写成cout<<  与 cin>> 的形式;否则需写std::cout<<  与  std::cin>>

另外:#include<iostream.h> 是兼容早期C++版本的形式,相当于调用C库函数。后缀为.h的头文件,C++标准已明确提出不支持,C++标准为了与C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。

3、P171 指针的值不可预见可能会破坏系统的正常工作状况。

例如:

void swap(int *p1, int *p2)

{

int *temp;

*temp = *p1; //此语句有问题,由于未对temp赋值,因此temp并无确定的值,它的值是不可预见的,也就是说,temp所指向单元是不可预见的。这样的情况下对 *temp赋值是危险的,可能会破坏系统的正常工作状况。

*p1 = *p2;

*p2 = *temp;

}

4、值传递是单向

5、P176 数组的引用方法及执行效率

引用一个数组元素,可以有两种表示方法:

(1)下标法,如a[i]形式;

(2)指针法,如*(a+i)或*(p+i),其中a是数组名,p是指向数组元素的指针变量。

使用指针法能使目标程序质量高(占内存少,运行速度快),因为C++编译系统是将a[i]转换为*(a+i)处理的,对每个a[i]都分别计算地址a+i*d,然后再访问该元素。