广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言关键字及变量怎么定义与声明
  • 875
分享到

C语言关键字及变量怎么定义与声明

2023-07-02 13:07:37 875人浏览 薄情痞子
摘要

这篇“C语言关键字及变量怎么定义与声明”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言关键字及变量怎么定义与声明”文章吧

这篇“C语言关键字及变量怎么定义与声明”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言关键字及变量怎么定义与声明”文章吧。

    关键字分类

    一般的书上,C语言的关键字都是32个,但是这个都是 C90(C89) 的标准。其实 C99 后又新增了5个关键字。不过,目前主流的编译器,对 C99 支持的并不好,按照C90标准 ,即认为32个。

    关键字说明
    auto声明自动变量
    short声明短整型变量或函数
    int声明整型变量或函数
    long声明长整型变量或函数
    float声明浮点型变量或函数
    double声明双精度变量或函数
    char声明字符型变量或函数
    struct声明结构体变量或函数
    uNIOn声明共用数据类型
    enum声明枚举类型
    typedef用以给数据类型取别名
    const声明只读变量
    unsigned声明无符号类型变量或函数
    signed声明有符号类型变量或函数
    extern声明变量是在其他文件正声明
    reGISter声明寄存器变量
    static声明静态变量
    volatile说明变量在程序执行中可被隐含地改变
    void声明函数无返回值或无参数,声明无类型指针
    if条件语句
    else条件语句否定分支(与 if 连用)
    switch用于开关语句
    case开关语句分支
    for一种循环语句
    do循环语句的循环体
    while循环语句的循环条件
    Goto无条件跳转语句
    continue结束当前循环,开始下一轮循环
    break跳出当前循环
    default开关语句中的“其他”分支
    sizeof计算数据类型长度
    return子程序返回语句(可以带参数,也可不带参数)循环条件

    补充内容

    第一个C程序

    #include<stdio.h>#include<windows.h>//windows.h系统头文件,仅仅是为了停屏int main(){printf("hello world!\n");system("pause");//pause停屏return 0;}

    文件代码在进行生成解决方案后会转换成可执行程序(二进制文件 .exe)

    C语言关键字及变量怎么定义与声明

    可以通过清空解决方案来清空可执行程序

    C语言关键字及变量怎么定义与声明

    • 在windows中,双击的本质运行程序,将程序加载到内存中。

    • 任何程序在被被运行之前都必须被加载到内存当中。

    • 加载到内存中,速度快。

    冯诺依曼

    C语言关键字及变量怎么定义与声明

    定义与声明

    变量

    在内存中开辟特定大小的空间,用来保存数据

    变量的定义

    类型  变量名 = 默认值int a = 10;char c = 'c';

    定义变量的原因:因为有数据需要暂时被保存起来,等待后续处理。

    变量的本质

    • 所有的变量的本质都是要在内存的某个位置开辟空间的。

    • 程序运行,需要加载到内存中

    • 程序计算,需要使用变量

    定义变量的本质:在内存中开辟一块空间,用来保存数据。(为何一定是内存:因为定义变量,也是程序逻辑的一部分,程序已经被加载到内存)

    定义:开辟空间,只能有一次。

    声明:告知,可以多次。

    int a = 10;//a的定义a = 20;//赋值a = 100;//赋值
    变量的分类

    变量分为:局部变量和全局变量

    局部变量:包含在代码块中的变量叫做局部变量。局部变量具有临时性。进入代码块,自动形成局部变量,退出代码块自动释放。[网上很多说函数中的变量是局部变量,不能说错,但说法是不准确的](定义在代码块内)

    全局变量:在所有函数外定义的变量,叫做全局变量。全局变量具有全局性。(定义在代码块外)
    代码块:用{}括起来的区域,就叫做代码块

    #include<stdio.h>int g_val = 100;//全局变量int main(){int a = 10;//局部变量,main函数也是函数,也有代码块{}if(a == 10){int b = 10;//局部变量    }printf("a=%d\n", a);return 0;}
    变量的作用域

    作用域:指的是该变量的可以被正常访问的代码区域。
    局部变量:只在本代码块内有效。
    全局变量:整个程序运行期间,都有效。

    其中全局变量:

    • 在任何代码块中都可以被访问

    • 在任何代码块中都可以被访问,甚至被修改。

    • 当全局变量与局部变量同名时,局部变量优先。

    #include<stdio.h>int g_vax = 10;//全局变量void test(){int g_val = 100;//局部变量的g_val只能在本代码被访问printf("%d\n", g_val);//在全局变量g_val任何代码块中都可以被访问,甚至被修改//输出的是局部,也就是局部和全部同名的时候,优先局部。}int main(){test();printf("%d\n", g_vax);//在任何代码块中都可以被访问return 0;}

    C语言关键字及变量怎么定义与声明

    变量的生命周期

    生命周期概念:指的是该变量从定义到被释放的时间范围,所谓的释放,指的是曾经开辟的空间”被释放“。
    局部变量: 进入代码块,形成局部变量[开辟空间],退出代码块,"释放"局部变量。
    全局变量: 定义完成之后,程序运行的整个生命周期内,该变量一直都有效。

    作用域 vs 生命周期

    作用域:衡量变量影响的范围,该变量的有效作用域。
    生命周期:描述的是变量生存时间的长短。时间的概念:什么时候被开辟,什么时候被释放。

    C语言关键字及变量怎么定义与声明

    最宽宏大量的关键字 - auto

    如何使用:一般在代码块中定义的变量,即局部变量,默认都是auto修饰的,不过一般省略。
    默认的所有变量都是auto吗?不是,一般用来修饰局部变量
    局部变量包括自动变量,临时变量和局部变量。

    #include <stdio.h>int main(){for (int i = 0; i < 10; i++) //局部变量i也可以被auto修饰{printf("i=%d\n", i);if (1){auto int j = 0;//自动变量printf("before: j=%d\n", j);j += 1;printf("after : j=%d\n", j);}}return 0;}

    C语言关键字及变量怎么定义与声明

    auto已经很老,基本上不使用了。

    最快的关键字 - register

    CPU主要是负责进行计算的硬件单元,但是为了方便运算,一般第一步需要先把数据从内存读取到CPU内,那么也就需要CPU具有一定的数据临时存储能力。注意:CPU并不是当前要计算了,才把特定数据读到CPU里面,那样太慢了。
    所以现代CPU内,都集成了一组叫做寄存器的硬件,用来做临时数据的保存。

    存储金字塔

    C语言关键字及变量怎么定义与声明

    距离CPU越近的存储硬件,速度越快。

    寄存器的认识

    CPU内集成了一组存储硬件即可,这组硬件叫做寄存器。

    寄存器存在的本质

    在硬件层面上,提高计算机的运算效率。因为不需要从内存里读取数据啦。

    register 修饰变量

    尽量将所修饰变量,放入CPU寄存区中,从而达到提高效率的目的
    那么什么样的变量,可以采用register呢?
    1.局部的(全局会导致CPU寄存器被长时间占用)
    2.不会被写入的(写入就需要写回内存,后续还要读取检测的话,就无意义了)
    3.高频被读取的(提高效率所在)
    4.如果要使用,请不要大量使用,因为寄存器数量有限
    5.register修饰的变量,不能取地址(因为已经放在寄存区中了嘛,地址是内存相关的概念)

    寄存器&ndash;cache&ndash;内存&ndash;SSD/flash/硬盘&ndash;光盘&ndash;磁盘

    硬盘通过缓存技术成内存,内存通过缓存技术成寄存器。

    距离CPU越近的储存单元,效率越高,单价成本越高。

    距离CPU越远的储存单元,效率越低,单价成本越便宜。

    对任何一种硬件而言,充当上游硬件的缓存。

    例:内存可以看成硬盘的一个大缓存;cache和寄存器相当于内存某一种缓存。

    CPU访问数据的时,以最小的成本达到最高的效率。

    #include<stdio.h>int main(){register int a = 10;printf("%p\n", &a);return 0;}

    C语言关键字及变量怎么定义与声明

    以上就是关于“C语言关键字及变量怎么定义与声明”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网其他教程频道。

    --结束END--

    本文标题: C语言关键字及变量怎么定义与声明

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

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

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • C语言关键字及变量怎么定义与声明
      这篇“C语言关键字及变量怎么定义与声明”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言关键字及变量怎么定义与声明”文章吧...
      99+
      2023-07-02
    • es6中怎么用关键字import声明变量
      小编给大家分享一下es6中怎么用关键字import声明变量,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!用关键字import声明...
      99+
      2022-10-19
    • es6中怎么用关键字class声明变量
      小编给大家分享一下es6中怎么用关键字class声明变量,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!用关键字class声明变量...
      99+
      2022-10-19
    • es6中怎么用关键字let声明变量
      小编给大家分享一下es6中怎么用关键字let声明变量,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!用关键字let声明变量let&...
      99+
      2022-10-19
    • es6中怎么用关键字const声明变量
      这篇文章主要为大家展示了“es6中怎么用关键字const声明变量”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“es6中怎么用关键字const声明变量”这篇文章吧...
      99+
      2022-10-19
    • es6中怎么用关键字function声明变量
      这篇文章主要介绍了es6中怎么用关键字function声明变量,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。用关键字function声明变量...
      99+
      2022-10-19
    • es6中怎么用关键字var声明变量
      这篇文章将为大家详细讲解有关es6中怎么用关键字var声明变量,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。用关键字var声明变量var a ;  /...
      99+
      2022-10-19
    • C语言中定义与声明有什么区别
      今天小编给大家分享一下C语言中定义与声明有什么区别的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、变量的声明与定义首先,举...
      99+
      2023-07-02
    • 使用Kotlin怎么定义函数与声明变量
      使用Kotlin怎么定义函数与声明变量?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Kotlin基础教程之函数定义与变量声明可以看到,函数定义就是 <访问控制符> ...
      99+
      2023-05-31
      kotlin 声明变量 函数定义
    • C语言入门篇--变量[定义,初始化赋值,外部声明]
      1.变量 变量即变化的量。 C语言中用 常量 来表示不变的值,用 变量 表示变化的值。 eg:输出26个字母 #include <stdio.h> int main(...
      99+
      2022-11-12
    • Go语言的变量与常量怎么定义
      这篇文章主要介绍“Go语言的变量与常量怎么定义”,在日常操作中,相信很多人在Go语言的变量与常量怎么定义问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Go语言的变量与常量怎么定义”的疑惑有所帮助!接下来,请跟...
      99+
      2023-07-05
    • C语言关键字const与volatile怎么用
      今天小编给大家分享一下C语言关键字const与volatile怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、con...
      99+
      2023-06-30
    • C语言关键字sizeof、unsigned及signed怎么使用
      这篇文章主要介绍了C语言关键字sizeof、unsigned及signed怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C语言关键字sizeof、unsigned及signed怎么使用文章都会有所收获,...
      99+
      2023-07-02
    • C语言枚举型变量怎么定义和使用
      在C语言中,枚举类型(enum type)是一种自定义的数据类型,用于定义一组有限的取值,这些取值称为枚举常量(enum const...
      99+
      2023-10-10
      C语言
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作