今天主要学了指针的以下部分:
1.地址与指针的区别:
地址:是一个地址,制定从哪里开始,但不知何时结束
指针(指针变量):指针是一个变量,包含一个地址,所以指针固定位占4个字节(32位机),
指针要初始化,如 int *p = #,int *p,标示了一个地址,表明何时开始,何时结束,因为 int占4个字节。
2.&仅仅是一个地址,* p 是一个变量。
3.指针的初始化:
int num = 100; int *p ; p = #//这样是正确的; p = num;//这样编译没有错误,把num的值当作了一个地址,但在运行时会出现错误,因为地址可 //能被其他程序使用(windows 有程序保护机制,其他程序不能访问其他程序的内存) *p = num;// 一开始以为是正确的,但实际上是错误的,编译成功,不能运行,提示 p没有初始 //化,所以只能是 p = # int p = NULL;//空指针,就是0,不指向任何地址
4.直接访问和间接访问:
直接访问:按照地址去存取变量
间接访问:通过存放变量地址的变量来存放变量
5.打印指针:
%x:按照十六进制打印,多余的0去掉
%p:按照地址的格式打印,显示出地址的位数
6.输入指针:
指针一定要初始化:
int *p = NULL; ··6点多了,才学了一个小时··,明天继续,感觉真的有效果!!!
时间: 2024-10-29 19:10:36