指针,一次搞懂
int main()
{
int *a=NULL;
a=0x0000001;
*a=0;
printf(a,*a);
}
输出:
a=0x0000001
*a=0
ADDR | DATA |
(a初始地址)未知 | NULL |
未知 | 0x0000001 |
0x0000001 | 0 |
1.明确系统存储数据的格式:地址+地址上的数据
2.指针定义时,它也是个变量,所以也会被分配一个地址,不过我们不知道是什么,所以未知;如果我们给它赋初值NULL,就是在它这个地址上的值为NULL。
3.后又给它赋值, 则它的地址上的值变为0x0000001,。
4.*a=0,表示对a存储的数据取值,然后赋为0,表示a存储的地址,其所对应的值变为0.
因为:它所指的地方就是一个地址,他本身也是个变量,所以它本身也有个地址
Higher you climb, more view you will see.
posted on 2019-05-13 11:40 Nancy_Fighting 阅读(107) 评论(0) 编辑 收藏 举报