第08天C语言(14):指针为什么要分类型

一、概念
/*
 指针为什么要分类型?
 因为当我们利用指针 去取值的时候, 系统就会自动根据指针的类型来确定 应该去多少个字节中的值
 */
二、代码
#include 
int main()
{
    /*
    char *cp;
    int *ip;
    double *dp;
    double **dpp;
    // Mac系统中的指针 无论是什么类型, 几级真正都占用8个字节
    // 由于Mac是64位了, 32 = 4 * 8; 64 / 8 = 8;
    printf("cp = %lu,ip = %lu,dp = %lu,dpp = %lu\n",sizeof(cp),sizeof(ip),sizeof(dp),sizeof(dpp));
     */
    
    /*
     11001110
     00000100
     00000000
     00000000
     */
    int intValue = 1230;
    
    /*
     00110001 = 49
     */
    char charValue = '1';
    
    /*
     内存存放的
     00110001
     11001110
     00000100
     00000000
     00000000
     
     
     // 指针为什么要分类型?
     // 因为当我们利用指针 去取值的时候, 系统就会自动根据指针的类型来确定 应该去多少个字节中的值
     int *charValueP; // 取四个字节

     00000000 00000100 11001110 00110001 = 314929
     */
    
    /*
    int *charValueP;
    charValueP = &charValue;
    printf("%i\n",*charValueP);
    printf("%i\n",0b00000000000001001100111000110001);
     */
    
    
    char *p = &intValue;
    printf("%i\n",*p); // 11001110
    
    
    
    return 0;
}

你可能感兴趣的:(第08天C语言(14):指针为什么要分类型)