定义辨析
int* p=&a;地址给p , *表示声明
*p 解引用(指向a本身 不是值)
多定义:int* p,* s;
指针变量32位4字节 64位8字节
p=&a p存储的a地址,p本身也有地址
int a 之后a与a地址就绑定了
指针类型的作用
1.解析该指针类型在内存中的解析能力,比如char*类型解析一个字节并把此字节内容看作char类型
2.指针的+1能力,指针的+1是加上该类型所占字节数而不是指针的大小
指针的运算
两个同类型指针,指向连续空间可以相减。减后的结果是数据元素的个数
如:
int类型指针― int类型指针结果是整型元素的个数。
char类型指针– char类型指针的结果是char数据元素的个数。
指针相加
无意义
指针+1
int main()
{
int ar[5]={1,2,3,4,5};
for(int i=0;i<5;i++,ar++)
{
printf("%d",*ar);
}
//ar++=ar+sizeof(*ar) ar代表数组首地址 *ar就代表首元素
}