zoukankan      html  css  js  c++  java
  • 16.C语言中数据类型的本质含义是:表示一个内存格子的长度和解析方法。

    数据类型决定长度的含义:我们一个内存地址(0x30000000),本来这个地址只代表1个字节的长度,但是实际上我们可以通过给他一个类型(int),让他有了长度(4),这样这个代表内存地址的数字(0x30000000)就能表示从这个数字(0x30000000)开头的连续的n(4)个字节的内存格子了(0x30000000 + 0x30000001 + 0x30000002 + 0x30000003)。
    数据类型决定解析方法的含义:譬如我有一个内存地址(0x30000000),我们可以通过给这个内存地址不同的类型来指定这个内存单元格子中二进制数的解析方法。譬如我 (int)0x30000000,含义就是(0x30000000 + 0x30000001 + 0x30000002 + 0x30000003)这4个字节连起来共同存储的是一个int型数据;那么我(float)0x30000000,含义就是(0x30000000 + 0x30000001 + 0x30000002 + 0x30000003)这4个字节连起来共同存储的是一个float型数据;

    之前讲过一个很重要的概念:内存单元格子的编址单位是字节。
    (int *)0;
    (float *)0;
    (short)0;
    (char)0;

    int a; // int a;时编译器会自动给a分配一个内存地址,譬如说是0x12345678
    (int *)a; // 等价于(int *)0x12345678
    (float *)a;

    C语言中,函数就是一段代码的封装。函数名的实质就是这一段代码的首地址。所以说函数名的本质也是一个内存地址。

  • 相关阅读:
    使用 ASP.NET 2.0 ObjectDataSource 控件

    掌握 ASP.NET 之路:自定义实体类简介
    将 JavaScript 与 ASP.NET 2.0 配合使用
    C# 程序的通用结构
    实例化web service里类的实例
    Web服务枚举组件不可用 修复 (转载)
    09年初步学习计划
    Javascript return false的作用
    如何识别 SQL Server 的版本
  • 原文地址:https://www.cnblogs.com/schling/p/5931291.html
Copyright © 2011-2022 走看看