C语言指针学习 一

来源:互联网 发布:申请无地域名公司 编辑:程序博客网 时间:2024/04/27 20:01
1.指针就是地址,变量的指针就是变量的地址,存放地址的变量就是指针变量。 
2.利用间接访问的方式访问变量的时候,必须借助指针变量来存放数据的地址。需要说明的是指针类型是对所有类型的指针的总称,指针的类型是指针所指对象的数据类型。一般来讲,指针可以指向所有类型的数据,主要包括以下几种:
        第一种:指向变量的指针:变量的指针(存变量的地址)
        第二种:指向数组的指针:数组的指针(存数组的首地址)
        第三种:函数型指针:函数型指针(存放函数的入口地址)
        第四种:指向指针的指针:指针型指针(存放某指针的地址)
        第五种:由指针组成的数组:指针数组
3. 在定义指针变量时,指针变量的值是随机的,不能确定他的指向,必须为其赋值后指针变量才有意义。既然指针变量存放的是变量的地址,他的值就不允许用户随意指定为常量,这样可能会造成混乱。一般情况下,指针变量的值可以通过取地址运算和地址赋值运算来取得。同时指针变量的类型必须保证与其存放的变量类型一致。但是有一个常量是例外的,在C语言中存在空指针,也就是其值为0的指针,含义为该指针不表示指向,而是表示指针的一种约束状态,常用于判断指针的开关或返回指针的函数成功与否的标志。
4. 指针运算符“*”和指针变量说明中的指针说明符“*”不是一回事,在指针说明中,“*”是类型说明符,表示其后的变量是指针类型,而表达式中出现的“*”则是一个运算符用以表示指针变量所指的变脸。
5.*&pa与a等价,取得变量的值
    &*p与p等价,取得p所指向变量的地址
     利用强制类型转换符可实现不同类型指针变量间的交叉赋值

0 0
原创粉丝点击