一般形式
<数据类型> *<指针变量名>=<地址量>;
例如: int a ,*pa=&a;
int a=3;
int *pa=&a//int *pa ;pa=&a;(pa是地址量
#include <stdio.h>
int main()
{
int a=10;
int * p;
p=&a;
printf("&p: %p\n",&p);
printf("%p %p\n",p,&a);
return 0;
}
2.指针的目标
指针指向的内存区域中的数据称为指针的目标
如果他指向的区域是程序中的一个变量的内存空间,则这个变量称为指针的目标变量,简称指针的目标
例子
a是指针p所指向的目标变量,目标变量的值是10
*px *(&x) x 都是等价的都表示地址中的值(-126) 地址加* 表示地址区域中的数据
#include <stdio.h>
int main()
{
int a=10;
int * p;
*p=a;
//p=&a;
printf("%d",*p);
// printf("&p: %p\n",&p);
// printf("%p %p\n",p,&a);
return 0;
}
会报段错误(段错误一般都是内存指针等非法操作造成)
因为*p 属于野指针 ,指针指向的内容不确定
常见错误见下文