利用指针输出地址

指针变量:

         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;

}

运行结果:

学习C语言心得--指针_#指针

修改地址内容--利用解引用操作符 *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;

}

运行结果:

学习C语言心得--指针_#指针_02


注意指针的类型!!!

#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个字节.