①、在编写处理诸如int这样的基本类型的函数时,可以向函数传递int数值,也可以传递指向int的指针。通常我们直接传递数值,只有需要在函数中修改该值时,我们才传递指针。
②、对于处理数组的函数,只能传递指针,原因是这样能使程序的效率更加高。
③、声明指向常量的指针(不允许通过该指针修改被指向的值)
double rates[5] = {88.9,100.12,59.45,183.11,340.5};
const double * pd = rates; //pd指向数组开始处
第二行代码把pc声明为指向const double的指针。这样就不可以用pc来修改它所指向的数值。
*pd = 29.89; //不允许
pd[2] = 222.22; //不允许
rates[0] = 99.99; //允许,因为rates不是常量,并没有声明为常量,所以仍可以使用rates来修改其数值
另外,可以让pc指向其他地址:pd++; //这是允许的 指针常量就不可以(指针常量是指不允许修改指针变量的值,即指针的指向不变,保证指针不会指向别处)
指向常量的常指针,这个指针既不可以更改所指向的地址,也不可以修改所指向的数据。