示例1:
# include <stdio.h>
int main(void)
{
double * p;
double x = 66.6;
p = &x; //x占8个子节 1个字节是8位, 1个子节一个地址
double arr[3] = {1.1, 2.2, 3.3};
double * q;
q = &arr[0];
printf("%p\n", q); //%p实际就是以十六进制输出
q = &arr[1];
printf("%p\n", q);
return 0;
}
示例2:
# include <stdio.h>
void f(int * p);
int main(void)
{
int i = 10;
f(&i);
printf("i = %d\n", i);
return 0;
}
void f(int * p) //定义int类型指针接收&i
{
*p = 99; //此处是通过指针访问i的物理地址,并修改其数值
} // * 号 为取值符
示例3:
# include <stdio.h>
void f(int ** q);
int main(void)
{
int i = 9;
int * p = &i;// int *p; p = &i;
printf("%p\n", p);
f(&p);
printf("%p\n", p);
return 0;
}
void f(int ** q)
{
*q = (int *)0xFFFFFFFF;
}