C语言细节之三: 指针

1、 后缀++和--比*的优先级高,所以*P++与*(P++)等价。它自增P并返回P自增前所指向的变量数值。
    前缀++和--与*的优先级相同,但是按从右向左结合。所以++*P与(*P)++等价。

2、对于char *p;
      int a[10];
      P = a;
      不可以使用((int *)P)++。因为(int *)p只可以作右值。要达到目的可以用P = (char *)((int *)P + 1);
      所以要注意,类型转换只可以做右值。

3、用指针调用函数的形式。
     int func(){}
     int (*fp)() = func;
     既可以使用*fp(),也可以使用fp()调用函数func();

你可能感兴趣的:(C语言)