sizeof

作者: 猫爪 | 来源:发表于2015-12-14 10:59 被阅读85次

    用运算符sizeof可以计算出数组的容量(字节数)

    char a[] = "abcd"; sizeof(a) 的值就是 5 (注意不要忘记'\0')
    但是 *p = a; sizoef(p) 的值就是 根据计算机的系统, 如: 64位的就是 8 个字节,那么指针变量需要8个字节存放地址,

    而不是 p 指向的区域 的内存容量, 同时任何类型的指针 sizeof 都是 8 个字节(取决于当前系统的位数和编译器)

    c 语言没有办法知道指针所指向的内存容量,除非申请的时候记住它,可以采用结构体记录,而

    malloc就是这样做的 malloc 开辟的空间 其实是由一个链表管理的,而每个节点是 4个指针

    一个指向一块内存,
    一个指向一块内存,
    一个指向存放的内容
    一个是存放内容的size

    相关文章

      网友评论

        本文标题:sizeof

        本文链接:https://www.haomeiwen.com/subject/exluhttx.html