《Visual C++ 程序设计》读书笔记 ----第8章 指针和引用

时间:2022-04-08 06:44:43

1.&取地址;*取内容。

2.指针变量“++”“--”,并不是指针变量的值加1或减1,而是使指针变量指向下一个或者上一个元素。

3.指针运算符*与&的优先级相同,左结合;++,--,*,&优先级相同。

4.二维数组a

  a+i表示第i行第0列元素的起始地址,而a[i]也表示第i行第0列元素的起始地址;

  由于a[i]表示一个一维数组的首地址,所以a[i]+j表示第i行第j列元素的指针;

  *(a[i]+j)=a[i][j];

5.字符型指针变量与字符数组的区别:

  char str1[]="I am a student!";

  char *str2 ="I am a teacher!";

  对于字符数组,是把字符串送到为数组分配的存储空间去;

  而对于字符型指针,是先把字符串放到内存中,然后将存放字符串的起始地址送到指针变量中。

6.指针数组:int *p1[4];

8.函数返回值为指针的函数:float *f(...);

8.指向函数的指针:一个指针变量的值为一个函数的入口地址时,称其为指向函数的指针变量。

  float (*fun)(int i);

  int *(*f)(void);

  函数名表示该函数的入口地址,所以

              fun=sum;

              fun(k);

              则实际调用sum(k)。