指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。其定义方式为:数据类型 * 指针变量名 如int *p 其中p为内存里的一个地址,相当于&a之类的值。而*p则是取出该内存块里存放的数据值。而& *字符的运算相当于倒数运算。遇到两者结合时,所得的结果为取消这两个字符的变量的值。

 1#include<stdio.h>
 2main(){
 3    int num_int=12,*p_int;
 4    float num_f=3.14,*p_f;
 5    char num_char='m',*p_c;
 6    p_int=&num_int;
 7    p_f=&num_f;
 8    p_c=&num_char;
 9    printf("%d,%dn",num_int,*p_int);
10    printf("%5.2f,%5.2fn",num_f,*p_f);
11    printf("%c,%cn",num_char,*p_c);
12}

如上面的例子

1*P_int=*&num_int=num_int=12

所以从这个方便理解的表达式中,不得看出*&结合运算想当于取消这两个字符。当然,在编写代码时,不能用我使用的理解表达式。