利用指针输出地址
指针变量:
int*
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int a = 10;
int* cp = &a;
printf("%p\n", cp);//输出地址
printf("%p\n", &a);//也可以这样
printf("%d\n", a);
return 0;
}
运行结果:
修改地址内容--利用解引用操作符 *cp
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int a = 10;
int* cp = &a;
printf("改变前a的值=%d\n", a);
*cp = 666;
printf("改变后a的值=%d\n", a);//再次输出a的值 发现已经被改变
return 0;
}
运行结果:
注意指针的类型!!!
#include<stdio.h>
int main()
{
char x = 'w';
char* cp = &x;//注意不是int* 而是char*
printf("%p\n", cp);
printf("%p\n", &x);
return 0;
}
指针类型要改变 要注意是 字符串 还是 整形 还可能是其他类型!
指针变量的大小
指针在32位平台是4个字节 在64位平台是8个字节.