c语言自学笔记

来源:互联网 发布:一骑当千镜头数据 编辑:程序博客网 时间:2024/05/02 00:17
1.指针变量
Point variable 指针变量:  可以用来存放地址。
当指针变量p 存储的是变量 i的地址的时候,我们可以说p指向i(指针变量指向一个值)
指针就是地址,而指针变量是存放地址的变量
2.声明指针变量
指针变量的声明跟普通变量是一样的,不同点在于指针变量前面要加上一个*
例如:int *p;
3.取地址运算符(&)和间接寻址运算符(*)
int i,*p;
p=&i;
上面的语句代表的意思是把i的地址赋值给p
也可以这样声明
int i;
int *p=&i;
或者可以这样声明
int i,*p=&i;
一旦指针变量指向了对象
当指针变量p没有初始化(赋值)的时候,*p的值是没有定义的
例如:
int *p;
printf(“%d”,*p);这里的p可以指向内存中的任何位置(prints garbage))
假如你修改没有初始的画的指针变量的话
例如:
int *p;
*p=1;
p的地址可能是内存中的任何位置,属于程序(导致不规律的行为)或者是操作系统(导致系统崩溃)
4.指针的赋值
两个类型相同的指针是可以通过赋值运算进行指针的复制的;
例如:
int i,j,*p,*q;
p=&i;
q=p;
那么这时候,p是&i且q也是&i;任意数量的指针变量都可以指向同一对象。
*q=*p;这语句跟上面的q=p是不一样的,上面是将q的地址复制给p,下面一句是将p内存单元的内容放到q内存单元里面去













0 0
原创粉丝点击