关闭

C语言指针初探

243人阅读 评论(0) 收藏 举报

# include <stdio.h>

int main(void)

{

int * p;

int i = 3;

p = &i;

}

上面代码:

int * p:正解:p是变量的名字,int * 是数据类型,表示p变量存放的是int类型变量的地址

  错误理解:*p是变量名,它的数据类型是int类型

 p是变量名,int * 是它的数据类型,所谓int * 类型实际上就是存放int 变量地址的类型

p = &i; 1、p保存的是i变量的地址,所以取地址i就等同于p,即p指向i

    2、p不是i,i也不是p,因此修改i的值不影响p,修改p的值也不影响i

3、如果一个指针变量指向一个普通变量,则*指针变量     就完全等同于    普通变量,比如p指向i,则 *p 就完全等同于 i,*p变量 和 i变量 可以互换

4、* p:表示的以p的内容为地址的变量


指针和指针变量:

指针就是地址,地址就是指针,地址是内存单元的编号。指针就是一个值,相当于一个常量,所以没什么好说的;  

指针变量是存放地址的变量,它相当于数据类型的变量,所以研究的是指针变量;

但是要注意在我们叙述时,指针变量通常被简称为指针。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:10820次
    • 积分:245
    • 等级:
    • 排名:千里之外
    • 原创:13篇
    • 转载:6篇
    • 译文:0篇
    • 评论:0条