设为首页 加入收藏

TOP

C/C++学习指针一些事(一)
2012-11-01 15:47:55 来源: 作者: 【 】 浏览:1444
Tags:C/C 学习 指针 一些

    [cpp]

    #include<iostream>

    using namespace std;

    int main(void)

    {

    /***********************************************************

    指针,内存地址,指针取值,指针是啥

    指针是一个存储计算机内存地址的变量。   这里引用是计算机内存地址。

    从指针指向的内存读取数据叫:指针取值。

    指针可以为void类型,也可以是其他的内置数据类型等。

    也有NULL指针和未初始化指针。

    "*"操作符可以用来声明一个指针变量,也可以是解引用操作符,当然也可以是

    乘法操作符。

    "&"是地址操作符。  通过在变量前加上&我们可以得到这个变量的地址

    ***********************************************************/

    int *ptr; //声明一个int类型的指针

    int value = 1;//声明一个int类型的值,值为1

    ptr = &value;//给指针分配一个int类型的值的引用

    int *p = ptr;//对指针进行取值,这里可以直接获得指针指向的内存地址中的数据

    cout 《 p 《 endl;

    /******************************************************************

    类比一下,指针比作信封     引用比作邮箱     值比作房子

    ok,我们在信封上面写上邮寄的地址(引用地址),  我们来取值就相当于地址

    对应的房子。我们也可以把信封上的地址涂掉,然后写上其他的我们想要的地址

    房子是在哪里不动的,所以不受影响。

    *******************************************************************/

    /*********************************************************************

    下面是void指针    NULL指针    未初始化指针

    *********************************************************************/

    int *ptrs;//未初始化

    int *ptring = NULL;//NULL指针

    void *vptr;//void指针  未初始化

    int *iptr;

    int *vastptr;

    //void类型可以存储任意类型的指针或者引用

    iptr = &value;

    vptr = &value;

    cout 《 iptr 《 vptr 《 endl;

    //显示类型转换  把一个void指针转换成int指针,并取值。

    vastptr = static_cast<int*>(vptr);  //(int*)vptr;

    cout 《 *vastptr 《 endl;

    //cout 《 ptrs 《 ptring 《 endl;

    /******************************************************************

    要知道,未初始化的指针也是有内存地址的,但是是一个垃圾地址。

    所以我们不能对未初始化的指针取值。

    最好的情况是你去到的是垃圾地址,接下来你需要对程序进行调试

[1] [2] 下一页

首页 上一页 1 2 3 4 5 6 下一页 尾页 1/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C++你可能不知道地方 下一篇内核进程的复制

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: