美文网首页
C语言 指针 * 间接访问操作符

C语言 指针 * 间接访问操作符

作者: SpringAlways | 来源:发表于2020-04-28 20:58 被阅读0次

    *是一个单目操作符,它的意义是访问它所存储的地址,并查看地址所存储的值。也被称作解引用指针(dereferencing the pointer).

    指针本质上就是一串数字,由bit位构成。可以1个bit,也可以一个字节,还可以多个字节。ios/macos中,是以4字节(32位)/8字节(64位)为单位的。同时也支持按字对齐。

    #ifdef __LP64__
    #   define WORD_SHIFT 3UL
    #   define WORD_MASK 7UL
    #   define WORD_BITS 64
    #else
    #   define WORD_SHIFT 2UL
    #   define WORD_MASK 3UL
    #   define WORD_BITS 32
    #endif
    
    static inline uint32_t word_align(uint32_t x) {
        return (x + WORD_MASK) & ~WORD_MASK;
    }
    static inline size_t word_align(size_t x) {
        return (x + WORD_MASK) & ~WORD_MASK;
    }
    

    这个对齐其实是硬件开发需要关注的,和cpu寻址有关,c语言开发者只需要知道两件事:
    1、内存中的每个位置由一个独一无二的地址标识。
    2、内存中的每个位置都包含一个值。(这个值可以被不同的读取方式读取成不同的意义)

    相关文章

      网友评论

          本文标题:C语言 指针 * 间接访问操作符

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