您的位置:首页 > 编程语言 > C语言/C++

C语言指针学习 一

2015-04-03 17:33 141 查看
1.指针就是地址,变量的指针就是变量的地址,存放地址的变量就是指针变量。 

2.利用间接访问的方式访问变量的时候,必须借助指针变量来存放数据的地址。需要说明的是指针类型是对所有类型的指针的总称,指针的类型是指针所指对象的数据类型。一般来讲,指针可以指向所有类型的数据,主要包括以下几种:
        第一种:指向变量的指针:变量的指针(存变量的地址)

        第二种:指向数组的指针:数组的指针(存数组的首地址)

        第三种:函数型指针:函数型指针(存放函数的入口地址)

        第四种:指向指针的指针:指针型指针(存放某指针的地址)

        第五种:由指针组成的数组:指针数组

3. 在定义指针变量时,指针变量的值是随机的,不能确定他的指向,必须为其赋值后指针变量才有意义。既然指针变量存放的是变量的地址,他的值就不允许用户随意指定为常量,这样可能会造成混乱。一般情况下,指针变量的值可以通过取地址运算和地址赋值运算来取得。同时指针变量的类型必须保证与其存放的变量类型一致。但是有一个常量是例外的,在C语言中存在空指针,也就是其值为0的指针,含义为该指针不表示指向,而是表示指针的一种约束状态,常用于判断指针的开关或返回指针的函数成功与否的标志。
4. 指针运算符“*”和指针变量说明中的指针说明符“*”不是一回事,在指针说明中,“*”是类型说明符,表示其后的变量是指针类型,而表达式中出现的“*”则是一个运算符用以表示指针变量所指的变脸。
5.*&pa与a等价,取得变量的值

    &*p与p等价,取得p所指向变量的地址

     利用强制类型转换符可实现不同类型指针变量间的交叉赋值

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言