万万没想到,C语言竟然可以直接操作内存,这是java无法相比的。
指针和内存的理解
指针:可以直接对内存进行操作。
内存:例如声明变量就会产生内存,内存是唯一的,是用十六进制表示的整型表示的
指针的声明
即指向某数据类型的物理地址并获取其物理地址
int a=0;
int* p1=&a;//写法1
int * p2=&a;//写法2
int *p3=&a;//写法3
注:
①在指针声明的时候,可以把int*当做一个整体,即是一个写法特别的数据类型。
②指向不同数据类型,指针类型也不同,例如指向整型是 int*,指向字符是char *;
使用指针输出与赋值
指针输出:即使用指针输出对应的值
int a=0;
int* p=&a;
printf(“%d”,*p);
指针赋值:其实变量赋值即是给内存赋值
int a=0;
int* p=&a;
*p=1;
a=1;//与上面一句同义
*p+=1;
a+=1;//与上面一句同义
如果想看到具体看到内存的变化,我推荐使用miscrosoft visual studio,纯净版下载地址:
http://www.xiazaiba.com/html/4615.html
亲身使用确实能用。