指针
数字示例
#include<stdio.h>
int main()
{
int a = 10;
//&a取出a的地址 %p打印地址
printf("&a=%p\n", &a);
//有一种变量是用来存放地址的-指针变量
int* p = &a;//定义指针变量
//*p解引用操作符
printf("*p=%d\n", *p);
printf("p=%p\n", p);
*p = 20;
printf("*p=%d\n", *p);
printf("p=%p\n", p);//地址不变
printf("a=%d\n", a);//a=20
printf("&a=%p\n", &a);//地址不变
return 0;
}
示例结果
字符示例
#include<stdio.h>
int main()
{
char ch = 'w';
char* pc = &ch;
printf("&ch=%p\n", &ch);
*pc = 'a';
printf("ch=%c\n", ch);
printf("pc=%p\n", pc);
printf("*pc=%c\n", *pc);
return 0;
}
示例结果
指针变量的大小
#include<stdio.h>
int main()
{
printf("char*=%d\n", sizeof(char*));
printf("short*=%d\n", sizeof(short*));
printf("int*=%d\n", sizeof(int*));
printf("double*=%d\n", sizeof(double*));
//32位平台上指针大小为4个字节,64位平台上大小为8字节
return 0;
}
示例结果