指针
1. 指针作为参数
void func(int *x, int *y);
func(&x, &y);
——————————————————————————————————————————————————————————————————————————
void func(const int *x){
*x = 0;
}
2. 指针作为返回值
int *func(int *x, int *y){
return x;
}
———————————————————————————————————————————————————————————————————————————
int *func(int x, int y){
int z;
return &z;
}
3. 指针与数组
int a[10];
int *p = a;
int *p = &a[0];
____________________________________________________________________________
int a[10];
int x = a[i];
int x = *(a + i);
_____________________________________________________________________________
int func(int *a);
int func(int a[]);
4. 指向函数的指针
int swap(int *x, int *y);
int (*func)(int *, int *);
_________________________________________________________________________________
func = swap;
void func(int x, int y, int(*f)(int*, int*));
func(x, y, swap);
5. 指向结构的指针
struct {
...
} *