返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言的变量类型及内存大小详解
  • 865
分享到

C语言的变量类型及内存大小详解

2024-04-02 19:04:59 865人浏览 八月长安
摘要

类型 存储大小 值范围 c输入输出格式

类型 存储大小 值范围 c输入输出格式 具体范围
char 1byte(8位) -2^7 ~ 2^7-1 %c -128 到 127
unsigned char 1byte(8位) 0 ~ 2^8-1 %c 0 到 255
signed char 1byte(8位) -2^7 ~ 2^7-1 %c -128 到 127
short 2byte(16位) -2^15 ~ 2^15-1 %d -32,768 到 32,767
unsigned short 2byte(16位) 0 ~ 2^16-1 %u 0 到 65,535
int 4byte(32位) -2^31 ~ 2^31-1 %d -2,147,483,648 到 2,147,483,647
unsigned int 4byte(32位) 0 ~ 2^32-1 %u 0 到 4,294,967,295
long 4byte(32位) -2^31 ~ 2^31-1 %ld -2,147,483,648 到 2,147,483,647
unsigned long 4byte(32位) 0 ~ 2^32-1 %lu 0 到 4,294,967,295
long long 8byte(64位) 2^63 ~ 2^63-1 %lld -9,223,372,036,854 775,808到9,223,372,036,854,775,807
unsigned long long 8byte(64位) 0 ~ 2^64-1 %llu 0到18,446,744,073,709,551,615
float 4byte ----- %f -----
double 8byte ----- 输入用%lf,输出用%f -----
long double 10byte ----- 输入输出都用%Lf -----

此外,还有void 类型:

void 类型指定没有可用的值。它通常用于以下三种情况下:

在这里插入图片描述

说明:

不同编译器对有些类型可能不能有不同数据长度,一般都是上述规律,了解就行。

编译器可以根据自身硬件来选择合适的大小,但是需要满足约束:short和int型至少为16位,long型至少为32位,并且short型长度不能超过int型,而int型不能超过long型。这即是说各个类型的变量长度是由编译器来决定的,而当前主流的编译器中一般是32位机器和64位机器中int型都是4个字节。也就是说,

注意:

(1)int和unsigned int有可能只占两个字节

(2)long有可能占8个字节

在这里插入图片描述

(3)除了long long和unsigned long long之外,还有__int64以及unsigned __int64,其输入输出格式可以用%I64d,两者表示范围一样,只是不同编译器兼容性不一样,具体可参考人家测试结果如下:

__int64 与long long 的区别

在这里插入图片描述

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: C语言的变量类型及内存大小详解

本文链接: https://lsjlt.com/news/137092.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C语言的变量类型及内存大小详解
    类型 存储大小 值范围 c输入输出格式 ...
    99+
    2024-04-02
  • C语言详解float类型在内存中的存储方式
    目录1.例子2.浮点数存储规则1.例子 int main() { int n = 9; float *pFloat = (float *)&n; ...
    99+
    2024-04-02
  • Go语言变量类型及其特性解析
    Go语言是一门由谷歌开发的编程语言,它结合了静态编译语言和动态语言的特点,具有高效、简洁和易于学习的特性。在Go语言中,变量是程序中用于存储数据的基本单元,本文将深入探讨Go语言中变量...
    99+
    2024-04-02
  • C语言中的变量类型有哪些及怎么用
    本篇内容主要讲解“C语言中的变量类型有哪些及怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言中的变量类型有哪些及怎么用”吧!一。变量的类型告诉编译器怎么处理这个变量的数据。 ...
    99+
    2023-06-16
  • C语言详解结构体的内存对齐与大小计算
    目录结构体的内存对齐1、计算结构体的大小2、结构体的对齐规则3、为什么存在内存对齐?4、总结结构体的内存对齐 1、计算结构体的大小 struct S1 { char c1; // ...
    99+
    2024-04-02
  • C语言自动变量的类型有哪些及怎么用
    这篇文章主要介绍“C语言自动变量的类型有哪些及怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C语言自动变量的类型有哪些及怎么用”文章能帮助大家解决问题。关键字auto为了更清楚地表达你的意图(...
    99+
    2023-06-27
  • C++变量和基本类型详解
    目录基本内置类型1. 不同平台下基本类型的字节数2. 算数类型的最小尺寸3. 数据类型选择的经验准则4. 有符号类型和无符号类型5.初始化与赋值6. 声明与定义7. C++关键字8....
    99+
    2024-04-02
  • C语言的各类变量和零值的比较详解
    目录1.波尔变量和零值比较2.整形变量和零进行比较3.浮点变量和零值比较4.指针和零值比较总结 1.波尔变量和零值比较 在C语言中本来是不存在bool类型的,但在C99标准中加入了b...
    99+
    2024-04-02
  • C++ Primer的变量和基本类型详解
    目录1.类型转换含有无符号类型的表达式2.字面值常量整形和浮点型字面值字符和字符串字面值转移序列指定字面值的类型布尔字面值和指针字面值总结1.类型转换 对象的类型定义了对象能包含的数...
    99+
    2024-04-02
  • c语言怎么判断变量数据类型
    在C语言中,可以使用`sizeof`运算符来判断变量的数据类型。`sizeof`运算符返回变量或数据类型的大小(以字节为单位)。 例...
    99+
    2023-10-28
    c语言
  • c++primer:变量和基本类型详解
    目录前言类型转换变量声明与定义的关系变量命名规范复合类型引用指针const限定符const的引用指针和constconstexpr和常量表达式auto类型说明符decltype头文件...
    99+
    2024-04-02
  • C语言数据类型和变量常量有哪些
    这篇“C语言数据类型和变量常量有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言数据类型和变量常量有哪些”文章吧。首...
    99+
    2023-06-26
  • C语言深入详解四大内存函数的使用
    目录1.memcpy2.memmove3.memcmp4.memset1.memcpy 与字符串函数 strcpy 类似,也是进行拷贝。但是需要注意的是,strcpy 是针对字符串进...
    99+
    2024-04-02
  • C语言:自定义类型详解
    目录一、结构体1.结构体变量的定义及初始化2.结构体内存对齐3.为什么要内存对齐呢?二、位段1.什么是位段2.位段的内存分配三、枚举1.枚举的定义2.枚举的优点四、联合(共用体)1....
    99+
    2024-04-02
  • Go语言的变量有哪些类型
    这篇文章主要介绍“Go语言的变量有哪些类型”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Go语言的变量有哪些类型”文章能帮助大家解决问题。变量有三个类型:1、函数内定义的变量称为局部变量,其作用域仅...
    99+
    2023-07-04
  • 详解Go语言中的数据类型及类型转换
    目录1、基本数据类型2、基础数据类型转换3、基本数据类型转为字符串4、strconv的使用5、字符串转为基础类型1、基本数据类型 数据类型有很多,先研究一下基础的,例如:布尔型、数字...
    99+
    2024-04-02
  • C语言之详解静态变量static
    目录关键字static    修饰局部变量运行结果:调用静态变量static运行结果:结论: 修饰全局变量 代码执行:代码执行:结论...
    99+
    2023-05-15
    C语言详解static关键字 C语言static关键字 详解static关键字
  • C语言与C++中内存管理详解
    目录内存分布动态内存管理方式-堆区C语言动态内存管理C++动态内存管理new和delete的用法operator new与operator delete函数new和dele...
    99+
    2024-04-02
  • Go语言变量与基础数据类型详情
    目录一、基础介绍1、Go 的特性2、Go 的常用命令3、Hello Word二、变量1、定义方式三、常量四、基础数据类型1、数字2、浮点型(小数,32/64表示小数点后长度多少位)3...
    99+
    2024-04-02
  • C语言的动态内存分配及动态内存分配函数详解
    目录mallocmalloc的使用:freecalloccalloc的使用:reallocrealloc的使用改进:realloc的另一种用法:常见的动态内存错误对空指针的解引用操作...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作