返回顶部
首页 > 资讯 > 前端开发 > node.js >如何理解函数体内局部变量定义的问题
  • 502
分享到

如何理解函数体内局部变量定义的问题

2024-04-02 19:04:59 502人浏览 独家记忆
摘要

这篇文章主要介绍“如何理解函数体内局部变量定义的问题”,在日常操作中,相信很多人在如何理解函数体内局部变量定义的问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何理解函数

这篇文章主要介绍“如何理解函数体内局部变量定义的问题”,在日常操作中,相信很多人在如何理解函数体内局部变量定义的问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何理解函数体内局部变量定义的问题”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1. 函数中变量的定义位置

大家先看下代码中变量a、b、c、d定义的位置:

void Test(void) {   char a;  //a定义的位置   printf("a = %d\n", a);    char b;  //b定义的位置   printf("b = %d\n", b);    for(char c = 0; c < 10; c++)  //c定义的位置   {     char d;     printf("c = %d\n", c);     printf("d = %d\n", d);   } }

以上变量定义位置,相信很多人都看到过,有些朋友在实际编程中也常这么定义在这些位置。

上面这段代码C编译器编译会错吗?答案:按照C89标准编译就会出错;按照C99标准编译就不会出错。

2. 变量定义位置的区别

相信很多朋友在大学的时候都学过C和C++,学过C++的朋友都知道,上面那段代码变量定义的位置是很合理的。

但不知道大家了解过C89和C99的区别,区别的内容还是有很多,针对本文说下定义变量位置的区别。

C89标准是不允许在函数中随便位置声明变量,C语言中的变量声明不能放在任何可执行语句之后,只允许在函数(可执行语句)的开始处。如上一段代码,需要在【printf("a  = %d\n", a);】这条语句之前。

C99及C++放松了限制,允许在函数体内任意位置声明变量。C99新的标准满足了在函数体内定义变量立马就使用的功能。但是,也要注意变量的作用域。如下面代码就会出错:

void Test(void) {   for(char c = 0; c < 10; c++)   {     printf("c = %d\n", c);   }   printf("c = %d\n", c);  //这里有问题 }

3. MDK-ARM和EWARM中C99的配置

上面说的问题,就是出在IDE的配置上。EWARM工程默认是支持C99标准的,而MDK-ARM工程默认是不支持C99标准的。所以说,将一个支持C99的标准的代码拷贝到不支持C99标准的环境中,编译就会因为代码而出错。

MDK-ARM和EWARM只需要修改一下配置就可以支持C99标准。

(1) MDK-ARM的配置Project -> Options for Target -> C/C++ 勾选上“C99 Mode”即可。

如何理解函数体内局部变量定义的问题

(2) EWARM的配置Project -> Options -> C/C++ Compiler -> Language 1  选中上“C99”即可。

如何理解函数体内局部变量定义的问题

关于变量定义的位置也有很多争议:有的人说为了兼容C89标准,都统一写在可执行语句前面;有的人则喜欢后面C99标准规定的,你认为呢?

到此,关于“如何理解函数体内局部变量定义的问题”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: 如何理解函数体内局部变量定义的问题

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

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

猜你喜欢
  • 如何理解函数体内局部变量定义的问题
    这篇文章主要介绍“如何理解函数体内局部变量定义的问题”,在日常操作中,相信很多人在如何理解函数体内局部变量定义的问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何理解函数...
    99+
    2024-04-02
  • python如何在函数内定义全局变量
    使用python在函数中定义全局变量的方法在python函数中使用全局变量时,需要使用global进行声明,否则它会隐藏该全局变量。示例:x = 1def func():global xprint xx = 2print xprint xf...
    99+
    2024-04-02
  • 如何理解函数或全局变量重复定义
    这篇文章主要讲解了“如何理解函数或全局变量重复定义”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何理解函数或全局变量重复定义”吧!可能有些朋友第一反应是,...
    99+
    2024-04-02
  • PHP如何在函数内部访问全局变量
    在PHP中,全局变量是函数、类和脚本中可访问的变量。这些变量可通过指定$GLOBALS数组来声明和初始化,也可以在函数内部声明为全局变量。然而,在函数中访问全局变量却不太容易,因为函数是一种本地作用域的结构体,那么该如何在函数内部访问全局变...
    99+
    2023-05-14
  • 详解C语言中return返回函数局部变量的问题
    目录return返回栈区局部变量的指针return返回栈区局部的临时变量return只读数据段和static数据在计算机中,释放空间并不需要将空间中的内容全部置成0或者1,而是只要设...
    99+
    2024-04-02
  • 如何理解MySQL ECLARE局部变量
    如何理解MySQL ECLARE局部变量,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。没想到mysql中的变量要在BEGIN ... END中...
    99+
    2024-04-02
  • python如何在一个函数内部修改全局变量
    这篇文章主要介绍python如何在一个函数内部修改全局变量,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!如何在一个函数内部修改全局变量函数内部global声明 修改全局变量以上是“p...
    99+
    2024-04-02
  • 如何处理 PHP 函数中未定义的变量?
    在 php 中,处理未定义的函数变量主要有以下方法:1. 条件检查(isset() 或 empty());2. 默认值;3. 异常处理。这些方法确保未定义的变量不会中断程序执行。 如何...
    99+
    2024-05-03
    php 未定义变量
  • MySQL自定义变量实现row_number分析函数的问题示例
    小编给大家分享一下MySQL自定义变量实现row_number分析函数的问题示例,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!MySQL经常用自定义变量实现复杂查询,比如row_numbe...
    99+
    2024-04-02
  • java全局变量赋值问题如何解决
    在Java中,可以使用静态变量来实现全局变量的赋值。静态变量是指在类中使用关键字"static"声明的变量,它属于整个类而不是某个对...
    99+
    2023-08-29
    java
  • 如何理解Java内部类中的局部内部类
    这篇文章给大家介绍如何理解Java内部类中的局部内部类,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。局部内部类  局部内部类是定义在一个方法或者一个作用域里面的类,它和成员内部类的区别在于局部内部类的访问仅限于方法内或...
    99+
    2023-06-05
  • java全局变量多线程问题如何解决
    在Java中,可以使用以下几种方式来解决全局变量多线程问题:1. 使用synchronized关键字:在访问全局变量时,使用sync...
    99+
    2023-08-26
    java
  • 如何在Kotlin中定义变量与扩展函数
    如何在Kotlin中定义变量与扩展函数?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Kotlin定义变量kotlin 里的变量定义有两种,val 和 var,其...
    99+
    2023-05-31
    kotlin 定义变量 函数扩展
  • Vue无法访问.env.development定义的变量值问题及解决
    目录Vue无法访问.env.development定义的变量值vue中.env | .env.development | .env.production使用vue-cli-servi...
    99+
    2023-01-10
    Vue无法访问.env.development .env.development .env.development定义变量值
  • C语言中如何在结构体内定义函数
    目录如何在结构体内定义函数结构体中引入函数C++中结构体引入C++中类引入结构体成员有函数的定义与使用总结如何在结构体内定义函数 结构体中引入函数 #include <stdi...
    99+
    2023-02-24
    C语言结构体 C语言结构体定义函数 C语言定义函数
  • 闭包如何解决jQuery中AJAX的外部变量问题
    这篇文章主要为大家展示了“闭包如何解决jQuery中AJAX的外部变量问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“闭包如何解决jQuery中AJAX的外部...
    99+
    2024-04-02
  • vue定义在computed的变量无法更新问题及解决
    目录vue定义在computed的变量无法更新vue computed依赖收集与更新原理这里查源码后,对computed原理简述如下总结vue定义在computed的变量无法更新 情...
    99+
    2023-01-10
    vue computed变量 computed变量无法更新 vue computed
  • 如何理解Shell中的函数、函数定义、作用域
    本篇内容主要讲解“如何理解Shell中的函数、函数定义、作用域”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何理解Shell中的函数、函数定义、作用域”吧!一、Shell中函数的定义为了方便程...
    99+
    2023-06-09
  • 如何编写自定义 PHP 函数的主体?
    自定义 php 函数主体包含在函数定义中的代码块,代码块中包含函数执行任务的代码,包括变量使用、任务执行和可选的返回值。 如何编写自定义 PHP 函数的主体 在 PHP 中,函数主体是...
    99+
    2024-04-22
    函数主体
  • 解决python3中自定义wsgi函数,make_server函数报错的问题
    #coding:utf-8 from wsgiref.simple_server import make_server def RunServer(environ, start_response): ...
    99+
    2022-06-04
    函数 自定义 报错
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作