学习总结的,个人笔记,写的不严谨,但是方便我个人理解。
直接举例子说明
int a = 5 , b = 6 ;
{ int *p; p = &a; } 和 { int *p = &a } 效果一致,而与 { int *p; *p = &a; } 是两码事。具体的可以理解为 int * 是一体的,它是声明指针的一体化形式。
如果定义了函数
void Swap(int *x, int *y)
在调用Swap时, Swap(&a, &b)。
而Swap则直接代表了此函数的地址。
例如:
void (*Swap_point)(int, int); //定义函数指针
Swap_point = Swap;
此时,Swap_point(&a, &b) 与 Swap(&a, &b) 效果是一致的。