【C 语言】数据类型本质 ( 数据类型 | 数据类型本质 | 数组地址 | 数组首元素地址 )

简介: 【C 语言】数据类型本质 ( 数据类型 | 数据类型本质 | 数组地址 | 数组首元素地址 )

文章目录

一、数据类型

二、数据类型本质 ( 数组地址 | 数组首元素地址 )





一、数据类型


" 数据类型 " 是 数据的抽象 ;


相同类型的数据 , 表示形式相同 , 存储格式相同 , 相关操作相同 ;


C 语言程序中的 数据 , 必定属于某种 数据类型 ;



数据类型分为 简单数据类型 和 复杂数据类型 ;


简单数据类型 :

基本数据类型 : C 语言中有 6 66 种基本数据类型 ;

整型 : short , int ;

浮点型 : float 单精度浮点 , double 双精度浮点 ;

字符型 : char ;

空类型 : void ;

用户自定义类型 : enum 枚举类型

复杂数据类型 :

结构类型 :

数组类型 : [] ;

结构体类型 : struct ;

联合体类型 : union ;

类 : class ;

指针类型 : * ;





二、数据类型本质 ( 数组地址 | 数组首元素地址 )


数据类型 本质 : 固定大小 内存块 的 别名 ;



如下代码 :


int a;


编译器 一旦看到 int 类型变量 , 就知道需要分配 4 字节内存 , 用于存储该变量 ;


int array[10];


告诉 C 语言编译器 分配 40 直接内存 ;


打印上述数组 array , array + 1 , &array , &array + 1 的值 ,


#include <stdio.h>
int main()
{
    int array[10];
    printf("array = %d, array + 1 = %d, &array = %d, &array + 1 = %d",
           array,
           array + 1,
           &array,
           &array + 1);
    return 0;
}



执行结果 :


array = 6422184, array + 1 = 6422188, &array = 6422184, &array + 1 = 6422224


image.png


发现 array 与 &array 的值相等 , 但是这二者所代表的数据类型不同 ;


array 代表 数组首元素地址 ;

&array 代表 数组地址 ;


array + 1 与 &array + 1 的值相差 40 4040 字节 , 也就是整个数组的大小 ;


array + 1 表示 数组首元素地址 加上一个 数组元素 占据的内存大小 ;

&array + 1 表示 数组地址 加上一整个 数组 占据的内存大小 ;


数组数据类型 :


定义 数组类型

定义 数组指针类型

数组类型 和 数组指针类型 的关系 :


目录
相关文章
|
9月前
|
存储 程序员 编译器
C 语言中的数据类型转换:连接不同数据世界的桥梁
C语言中的数据类型转换是程序设计中不可或缺的一部分,它如同连接不同数据世界的桥梁,使得不同类型的变量之间能够互相传递和转换,确保了程序的灵活性与兼容性。通过强制类型转换或自动类型转换,C语言允许开发者在保证数据完整性的前提下,实现复杂的数据处理逻辑。
|
7月前
|
存储 人工智能 程序员
一文彻底搞清楚C语言的数据类型和变量
本文介绍了数据类型(基本、构造、指针、空类型)、变量(使用、命名规则、作用域)和常量(字面、符号、枚举、表达式),帮助初学者理解编程基础概念。坚持学习,定能创造奇迹!
672 1
一文彻底搞清楚C语言的数据类型和变量
|
7月前
|
存储 人工智能 程序员
一文彻底搞明白C语言的数组
本文详细介绍了C语言中的数组,包括定义、初始化(静态与动态)、存储方式、访问方法及常用操作,如遍历、修改元素和作为函数参数传递。数组是C语言中最基本的数据结构之一,掌握它对编程至关重要。下篇将介绍二维数组,敬请期待!
296 0
一文彻底搞明白C语言的数组
|
8月前
|
C语言
【C语言程序设计——入门】基本数据类型与表达式(头歌实践教学平台习题)【合集】
这份文档详细介绍了编程任务的多个关卡,涵盖C语言的基础知识和应用。主要内容包括: 1. **目录**:列出所有关卡,如`print函数操作`、`转义字符使用`、`数的向上取整`等。 2. **各关卡的任务描述**:明确每关的具体编程任务,例如使用`printf`函数输出特定字符串、实现向上取整功能等。 3. **相关知识**:提供完成任务所需的背景知识,如格式化输出、算术运算符、关系运算符等。 4. **编程要求**:给出具体的代码编写提示。 5. **测试说明**:包含预期输入输出,帮助验证程序正确性。 6. 文档通过逐步引导学习者掌握C语言的基本语法和常用函数,适合初学者练习编程技能。
216 1
|
9月前
|
存储 编译器 C语言
【C语言】数据类型全解析:编程效率提升的秘诀
在C语言中,合理选择和使用数据类型是编程的关键。通过深入理解基本数据类型和派生数据类型,掌握类型限定符和扩展技巧,可以编写出高效、稳定、可维护的代码。无论是在普通应用还是嵌入式系统中,数据类型的合理使用都能显著提升程序的性能和可靠性。
357 8
|
9月前
|
传感器 算法 安全
【C语言】两个数组比较详解
比较两个数组在C语言中有多种实现方法,选择合适的方法取决于具体的应用场景和性能要求。从逐元素比较到使用`memcmp`函数,再到指针优化,每种方法都有其优点和适用范围。在嵌入式系统中,考虑性能和资源限制尤为重要。通过合理选择和优化,可以有效提高程序的运行效率和可靠性。
614 6
|
10月前
|
存储 程序员 编译器
C 语言数组与指针的深度剖析与应用
在C语言中,数组与指针是核心概念,二者既独立又紧密相连。数组是在连续内存中存储相同类型数据的结构,而指针则存储内存地址,二者结合可在数据处理、函数传参等方面发挥巨大作用。掌握它们的特性和关系,对于优化程序性能、灵活处理数据结构至关重要。
|
算法 编译器 程序员
C语言学习笔记—P11(数组<2>+图解+题例+三子棋游戏<初级>)
C语言学习笔记(数组<2>+图解+题例+三子棋游戏<初级>)
185 0
C语言学习笔记—P11(数组<2>+图解+题例+三子棋游戏<初级>)
|
存储 C语言
C语言学习笔记—P10(数组<1>+图解+题例)
C语言学习笔记(数组<1>+图解+题例)
263 0
C语言学习笔记—P10(数组<1>+图解+题例)
|
C语言
C语言学习笔记——数组(二)
C语言学习笔记——数组
247 0
C语言学习笔记——数组(二)