C语言入门之浅谈数据类型和变量常量

 更新时间:2022年01月16日 17:04:57   作者:星河枕梦  
这篇文章主要为大家介绍了C语言数据类型和变量常量,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

首先我们来罗列一下C语言的基本数据类型(未提及的后续将在关键字专题讲解):

类型名称所占字节
char(字符型) %c2
short(短整形) %d2
int(整形) %d4
long int(长整形) %ld

4

long long int(长整形) %lld8
float(单精度浮点型) %f4
double(双精度浮点型) %lf8

字符型:用来储存字符,如:'s','@';

整型:用来储存整数(无符号有符号均可),如:899,-56;

浮点型:用来储存小数,如10.0,89.5;

为什么要创造出这么多种数据类型呢?因为计算机的内存是有限的,所以要将内存尽可能的合理分配,避免不必要的空间浪费。

在这里介绍一下sizeof 函数,可以测量一个数据类型所占有的字节大小,具体使用案例如下。因为字节大小是一个很小的的整数,所以我选择了用短整型来输出。感兴趣可以自己敲一下,编程学习是离不开实践的

简单介绍完C语言的数据类型后,我们来讲解一下常量和变量。变量理解起来非常简单,可以被改变的量就是变量,我们来着讲解一下变量的作用域和生命周期。

1.变量的作用域:

指的是这个变量可以起作用的范围,根据变量的作用域不同,可以把变量分为全局变量和局部变量

#include<stdio.h>
int a=5; //在main函数外创建了一个全局变量并初始化
int main()
{
       int b=6;//声明了一个局部变量并初始化 
    return 0;
}

这里面变量a的作用域是整个程序,而变量b的作用域只在main函数内部,如果你再写一个其他的函数,想在里面引用b就会报错,因为超出了b的作用域,而你却可以随意引用a,只要方式得当。

2.变量的生命周期:

是指一个变量从被创建到被销毁的周期,在变量的生命周期内,变量可以被使用。

全局变量的生命周期是整个程序,而局部变量的生命周期只是其作用的函数内,这与变量在内存中被储存的位置有关。全局变量被储存在静态区,而局部变量则被储存在栈区。

在C语言中常量有四种

1.字面常量,如:100,‘v’;

这种常量通常用来给其他操作数赋值,如:int a=99999; char name='p';

2.define宏定义的标识符常量

如:#define PI 3.1415926;

属于整个程序前面的头文件部分,如果用户define了一个常量PI,在后续整个程序中PI的值都为3.1415926,是无法被修改的,强行修改编译器会报错

3.const修饰的常变量

如:const int a=100;

值得一提的是这里的a虽然是变量,但却被const赋予了常量属性,无法被修改。

4.枚举常量

enum,也是C语言的关键字之一,定义方式如下

enum sex
{
    male,
    famale
};

总结

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

相关文章

  • QT5实现电子时钟

    QT5实现电子时钟

    这篇文章主要为大家详细介绍了QT5实现电子时钟,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • C语言链表实现通讯录系统课程设计

    C语言链表实现通讯录系统课程设计

    这篇文章主要为大家详细介绍了C语言链表实现通讯录系统课程设计,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • C语言并查集的非递归实现详解

    C语言并查集的非递归实现详解

    以下是对C语言并查集的递归实现与非递归实现代码进行了详细的介绍,需要的朋友可以过来参考下,希望能够给你带来帮助
    2021-09-09
  • C语言实现扫雷算法简易版

    C语言实现扫雷算法简易版

    这篇文章主要为大家详细介绍了C语言实现扫雷算法简易版,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • C++获取zip文件列表方法

    C++获取zip文件列表方法

    本文将介绍获取zip文件列表的方法,有些新手的朋友可以参考下
    2012-12-12
  • C++中inline函数详解

    C++中inline函数详解

    inline函数的定义:在函数声明或定义中函数返回类型前加上关键字inline,即可以把函数指定为内联函数。inline函数对编译器而言必须是可见的,以便它能够在调用点展开该函数。
    2015-07-07
  • 使用C语言操作树莓派GPIO的详细步骤

    使用C语言操作树莓派GPIO的详细步骤

    今天抽空给大家普及使用C语言操作树莓派GPIO的详细步骤,本文大概分五步给大家介绍树莓派GPIO安装步骤,首先需要安装GPIO库然后进行一步步设置,具体操作方法跟随小编一起学习吧
    2021-06-06
  • C++实现AVL树的完整代码

    C++实现AVL树的完整代码

    AVL树是高度平衡的而二叉树。它的特点是:AVL树中任何节点的两个子树的高度最大差别为1。 今天通过本文给大家分享C++实现AVL树的完整代码,感兴趣的朋友一起看看吧
    2021-06-06
  • Cocos2d-x保存用户游戏数据CCUserDefault类使用实例

    Cocos2d-x保存用户游戏数据CCUserDefault类使用实例

    这篇文章主要介绍了Cocos2d-x保存用户游戏数据CCUserDefault类使用实例,需要的朋友可以参考下
    2014-09-09
  • 使用C++ Matlab中的lp2lp函数教程详解

    使用C++ Matlab中的lp2lp函数教程详解

    本文介绍如何使用C++编写数字滤波器设计算法,实现Matlab中的lp2lp函数,将低通滤波器转换为参数化的低通滤波器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-04-04

最新评论