c基础 - 指针为什么要有类型?

前言

变量:就是给内存地址取一个别名;

1. 概述

指针其实就是一块地址,而且它的值都差不多 都是 类似003DFE84,都是 00+6位数字或字母 这种方式,那么为什么指针要有类型呢?原因如下:

  1. 取值的时候,我要知道怎么取,比如是按照4字节、8字节、16字节,就是debug方式,调试 - 窗口 - 内存 - 内存1,这样去查看;
  2. 指针的偏移:如果用 int* 接收,那么指针移动时按4字节来移动,double*接收,移动时按照8字节来移动;
2. 代码如下

// 指针为什么要有类型? 指针其实就是一块地址,而且它的值都差不多,
// 原因有2个:
// 1. 取值的时候,我要知道怎么取:4字节、8字节、16字节,就是debug方式,调试 - 窗口 - 内存 - 内存1,这样去查看;
// 2. 指针的偏移:指针移动时,如果是int类型指针,按照4字节移动;如果是double类型指针,按照8字节移动
void main(){
    int num = 12;

    int* num_p = #

    // double* num_p_d = num;

    printf("%p" , num_p);
    getchar();
}

你可能感兴趣的:(c基础 - 指针为什么要有类型?)