(1)指针初探

来源:互联网 发布:淘宝office2016激活码 编辑:程序博客网 时间:2024/05/29 19:59

1.变量如何在内存中存储?
比如声明一个int类型的变量i,编译器在编译的时候,会在内存中创建4个字节的空间,并且用i标记该数据的起始地址,比如2000。那么2000-2003就是该变量的存储地址。

2.如何访问变量?
访问变量有两种方式,一种是直接访问,一种是间接访问。
直接访问:根据数据的首地址以及类型,直接访问数据。

3.指针是什么?
指针就是地址,就是房间号。&i可以取得i数据的首地址。

4.如何设置指针?
int * point;声明一个指针,但是指针的名字是point,不是*point。
point=&i;(将i的地址放在指针变量point内,以后访问i)

5.指针与指针变量的区别是什么?
指针是变量的地址,指针变量是存放地址的地址。

6.指针指向数组
举例:如int a[5]={1,2,3,4,5}
int *p;
p=&a[0];//p的值是a[0]的首地址,或者p=a,同样的效果。
指针的加减:指针就是地址,对指针进行乘除运算时没有意义的,那么进行加减有意义吗?答案是有意义。
比如p指向a[1],那么p=p+1就指向了a[2].

引用二维数组:
int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};
int *p;
p=a[0];//代表第一行的元素 {1,2,3} 默认为p=a[0][0] 可以相加p=p+1 就是a[0][1]了
p=a[1];//代表第二行的元素{4,5,6}
p=a[2];//代表第三行的元素{7,8,9};

a[3]==*(a+3)因为a指向第一个元素

0 0
原创粉丝点击