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

一、概念
/*
 指针为什么要分类型?
 因为当我们利用指针 去取值的时候, 系统就会自动根据指针的类型来确定 应该去多少个字节中的值
 */
二、代码
#include <stdio.h>
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;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容