《Visual C++ 程序设计》读书笔记 ----第8章 指针和引用
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)。