C语言之 *

1.“ * ”的几种用途

  • 乘法运算符
  • 定义新类型——char* ;
  • 取值运算符——* + 指针类型的变量(也可以是指针类型运算结果)。作用是:把*后面的值当成地址,然后把里面的值取出来。
    • 如:  int* a=(int*)1;  printf("%x ",*a); 的作用是取出指针类型a中的值(1),然后把这个值(1)当作地址取出其中的值。

3.探测   *指针类型    的类型

如三个指针类型:

int*** a;
int***** b;
int* d;

int x=*(a);    // 这里的*a就被编译器当成 int**
int y=*(b);    // int****
int z=*(d);    // int

总结:*加指针类型的类型是指针类型减去一个*

4.取值运算符举例

int x=1;                      
int* p=&x;    // 把x的地址存到p中
printf ("%x %x
",p,*(p));    // p:x的地址     *(p):x这个地址中存的值

*(p)=2;    // 修改p中存的地址中的值,即修改x的值为2
原文地址:https://www.cnblogs.com/codexlx/p/13447621.html