C语言 指针中的取值宽度和单位跨度的使用

#include
int main(int argc,const char *argv[])
{
    int x = 0x01020304;
    int *p = &x;
    printf("%d\n",*p) ;
    char *p1 = &x;
    printf("%d\n",*p1);
    short *p2 = (short *)&x;
    printf("%p\n",*p2);
    printf("%p\n",*(p1+1));
    printf("%p\n",*(p1+2));
    return 0;
}

注意:

        Linux中指针的取值是倒序取值,上图给出的16进制的数,用char *的指针只能取一个字节的数,所以取出的值是其16进制的最后一位4,其他数据类型的指针变量同理。short *的指针变量的取值参照下图运行的结果进行比对。

C语言 指针中的取值宽度和单位跨度的使用_第1张图片

你可能感兴趣的:(C语言,c语言,c++,算法)