首页 > 其他分享 >C语言数据类型和变量

C语言数据类型和变量

时间:2024-07-21 18:57:59浏览次数:15  
标签:字符 变量 int scanf 数据类型 占位 类型 C语言

1.数据类型介绍

C语言提供了丰富的数据类型来描述生活中的各种数据。

所谓“类型”,就是相似的数据所拥有的共同特征,编译器只有知道了数据的类型,才知道怎么操作数据。

1.1数据类型

下面盘点一下C语言提供的各种数据类型,本章节主要探讨内置数据类型:


  • 具体解释:

1.2 各种数据类型的长度

每一种数据类型都有自己的长度,使用不同的数据类型,能够创建出长度不同的变量,变量长度不同,存储的数据范围就有差异。

1.2.1 sizeof操作符

sizeof操作数如果不是类型,可以省略掉括号。

sizeof计算结果是size_t类型。

size_t ——是一种类型,是专门为了sizeof设计的,就是sizeof返回值的类型。

size_t 其实是一种无符号的整型。

size_t的返回值的类型可能是 —— 对应printf()占位符:

unsiged   ——%u

unsigned long  ——%lu

unsigned long long  ——%llu

C语言提供了一个解决方法,创造了一个类型别名 size_t,用来统一表示 sizeof 的返回值,对应printf()占位符为 %zd

1.2.2 sizeof测量数据类型长度:

1.2.3 sizeof中表达式不计算!

  • 本题主要看int:把m + 3 放进 n ,4放进2,只能放进2

2. signed(有符号的)和unsigned(无符号的)

  1. C 语言使用 signed 和unsigned 关键字修饰 字符型和整型 类型的。
  2. signed 关键字,表示一个类型带有正负号,包含负值 ;unsigned 关键字,表示该类型不带有正负号,只能表示零和正整数
  3. 对于int 类型,默认是带有正负号的,也就是说 int 等同于signed int。(关键字 signed 一般都省略不写,但是写了也不算错。)
  4. int 类型也可以不带正负号,只表示非负整数。这时就必须使用关键字"unsigned 声明变量。
  5. 整数变量声明为unsigned 的好处是,同样长度的内存能够表示的最大整数值,增大了一倍。

      

signed int == int

unsigned int == unsigned

大部分编译器上,char == signed char ,但不一定。

3. 数据类型的取值范围

每一种数据类型有自己的取值范围,也就是储存的数值的最大值和最小值的区间。

如果要查看当前系统上不同数据类型的极限值:

4. 变量

4.1 变量的创建

类型是用来创建变量的。

C语言中把经常变化的值称为变量,不变的值称为常量。

变量创建的语法形式是这样的:

变量在创建的时候就给一个初始值,就叫初始化

4.2 变量的分类

  • 全局变量:在大括号外部定义的变量就是全局变量。
  • 局部变量:在大括号内部定义的变量就是局部变量。

如果全局变量和局部变量同名时,局部变量优先使用。

全局变量和局部变量在内存中存储在哪里呢?

一般我们在学习C/C++语言的时候,我们会关注内存中的三个区域:栈区、堆区、静态区。

                                       

标签:字符,变量,int,scanf,数据类型,占位,类型,C语言
From: https://blog.csdn.net/2401_85219263/article/details/139275165

相关文章

  • GCC在C语言中内嵌汇编 asm __volatile__
    from: https://www.cnblogs.com/hiveme/p/8194832.html在内嵌汇编中,可以将C语言表达式指定为汇编指令的操作数,而且不用去管如何将C语言表达式的值读入哪个寄存器,以及如何将计算结果写回C变量,你只要告诉程序中C语言表达式与汇编指令操作数之间的对应关系即可,GCC会自动插入代码......
  • 俊昭c语言笔记
    c语言——指针c语言——指针-CSDN博客c语言——函数格式和语句c语言——函数格式和语句_c语言副函数格式-CSDN博客c语言——break和continuec语言——break和continue_break的作用c语言-CSDN博客c语言——常用的输出函数c语言——常用的输出函数-CSDN博客c语言——运算符c......
  • 『数学记录』概率导论学习笔记(二):随机变量
      本文为DimitriP.Bertsekas与JohnN.Tsitsiklis所著的《概率导论》的学习笔记。  由于时间紧迫,过于详细的举例说明会导致自己的学习效率较低,于是本文将会比上一篇略去非常多不必要的举例与解释,同时加入很多名词的英文单词,利于以后更好地对外文著作及论文的学习。Part1 ......
  • IO多路复用-select的使用详解【C语言】
    1.多进程/线程并发和IO多路复用的对比IO多路转接也称为IO多路复用,它是一种网络通信的手段(机制),通过这种方式可以同时监测多个文件描述符并且这个过程是阻塞的,一旦检测到有文件描述符就绪(可以读数据或者可以写数据)程序的阻塞就会被解除,之后就可以基于这些(一个或多个)就绪的文件......
  • Linux开发讲课39---设置和查看Linux系统的环境和Shell这两种变量
            在Linux系统中,有环境变量和Shell变量这两种变量。        环境变量是在程序及其子程序中全局可用的,常常用来储存像默认的文本编辑器或者浏览器,以及可执行文件的路径等等这样的信息。而Shell变量仅在当前Shell中可用,可以用来存储当前用户的ID......
  • tensorflowjs_converter 实用程序向导致错误的变量名称添加后缀
    我正在尝试使用tensorflowjs_converter将我在python中训练的模型(使用tensorflow)转换为JSON层格式,以便我可以在网络上运行它。我安装了最新版本,并转换了测试模型。对于这个模型,它按预期提供了model.json和.bin文件,但是当我在网络上运行它时,我遇到了错误:Unc......
  • 多线程同步利器:条件变量 Condition Variable 的深度解析
    ......
  • 我心中的王者:Python-第2章 认识变量与基本数学运算
    我心中的王者:Python-第2章认识变量与基本数学运算本章将从基本数学运算开始,一步一步讲解变量的使用与命名,接着介绍Python的算术运算。2-1用Python做计算假设读者到麦当劳打工,一小时可以获得120元时薪,如果想计算一天工作8小时,可以获得多少工资?我们可以用计算器执行“1......
  • Python pyTelegramBotAPI:设置不受循环影响的变量
    我想创建一个基本上是布尔值的变量(无论机器人是否工作)。但是,当使用TeleBot.polling()时,脚本开始无限循环,所以如果我在代码开头设置一个变量就像:is_bot_working=True,变量将始终为真,反之亦然。那么,我应该如何设置一个不受循环影响的变量?这就是代码:impor......
  • 【C语言】:如何创建一个简单的C语言项目
    1.C语言是什么? 人与人之间的沟通交流用的是各国语言,例如:汉语,英语,西班牙语等等。类似的,人与机器之间的沟通用的是计算机语言,而C语言便是众多计算机语言中的一种。人们通过计算机语言编写程序,给计算机下达命令,让计算机工作。像我们熟知的C++/Java/phthon/Go等都是计算机......