设为首页 加入收藏

TOP

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

 

    最坏情况就会导致程序崩溃。

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

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

    数组是一断连续的内存空间,来存储多个特定类型的对象。

    指针用来存储单个内存地址

    所以数组和指针不是相同的结构,不能互相转换。

    数组变量是一个常量,就算指针变量指向相同的地址或者一个不同的数组,

    也不能把指针赋值给数组变量。

    我们可以把数组变量赋值给指针时,世界上把指向数组第一个元素的地址赋值给指针。

    要注意的是:指针需要和数组元素类型保持一致,除非指针是void类型。

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

    int myarray = {1, 2, 3, 0};

    int *ptrarray = myarray;//*ptrarray = &myarray[0];

    cout 《 *ptr 《 endl;

    //ok上面的操作时正确的。来看下面的错误

    //myarray = ptrarray;

    //myarray = myarrays;

    //myarray = &myarrays[0];

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

    结构体和指针。   与数组类似,指向结构体的指针存储了结构体第一个元素的

    内存地址。    结构体的指针必须声明和结构体类型保持一致 或者为void

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

    struct person{

    int age;

    char *name;

    };

    struct person first;

    struct person *ptrstruct;

    first.age = 22;

    char *fullname = "full name";

    first.name = fullname;

    ptrstruct = &first;

    cout 《 first.age 《 ptrstruct->name 《 endl;

    return 0;

    }

      

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

评论

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