关于#c语言#的问题:C语言里面变量来源

C语言里面变量来源,
分内部和外部。
那怎么识别哪个变量是内部的,
哪个变量是外部的呢?

这个从源代码看,有 extern 的是外部,别的都是内部
从编译后的代码看,没有什么内部外部之分。

作用域

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7647423
  • 这篇博客你也可以参考下:【C语言】如何将函数内部申请的内存,放到函数外部也能引用到
  • 同时,你还可以查看手册:c语言-常量及字面量 中的内容
  • 除此之外, 这篇博客: C标签是什么,为什么要使用C标签,有哪些常见的指令?中的 1.背景介绍 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • JSTL是apache对EL表达式的扩展(也就是说JSTL依赖EL),JSTL是标签语言。

    JSTL标签使用以来非常方便,它与JSP动作标签一样,只不过它不是JSP内置的标签,需要我们自己导包,以及指定标签库而已。

    JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。

    JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。 除了这些,它还提供了一个框架来使用集成JSTL的自定义标签。

    根据JSTL标签所提供的功能,可以将其分为5个类别。

    (1)核心标签:core

    (2)格式化标签:fmt

    (3)数据库标签:sql

    (4)XML 标签:xml

    (5)JSTL 函数


  • 您还可以看一下 王健伟老师的C语言入门篇课程中的 结构体数组、结构体指针小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    从给出的参考资料中并没有明确的方法可以判断一个变量是内部的还是外部的。通常情况下,在C语言中,通过变量的作用域来判断一个变量是内部的还是外部的。在C语言中,变量作用域主要有以下几种:

    1. 全局变量:在所有函数之外声明的变量,可以在整个程序中访问。可以使用关键字"extern"在其他文件中进行引用。

    2. 局部变量:在函数内部声明的变量,只能在函数中访问,函数执行结束后会自动销毁。

    3. 形参:函数的参数,只能在函数内部使用。

    以下是一个简单的示例代码,演示了全局变量、局部变量和形参的使用方法:

    #include <stdio.h>
    
    // 全局变量
    int globalVar = 10;
    
    // 函数声明,带有一个局部变量和一个形参
    void myFunction(int localVar);
    
    int main() {
        // 打印全局变量
        printf("Global variable: %d\n", globalVar);
    
        // 在main函数中声明一个局部变量
        int localVar = 20;
    
        // 调用函数,将局部变量作为参数传递
        myFunction(localVar);
    
        return 0;
    }
    
    void myFunction(int localVar) {
        // 打印局部变量
        printf("Local variable: %d\n", localVar);
    
        // 定义一个形参
        int parameter = 30;
    
        // 打印形参
        printf("Parameter: %d\n", parameter);
    }
    

    在上述示例代码中,globalVar是全局变量,可以在main函数以及myFunction函数中访问。localVarmain函数的局部变量,只能在main函数中访问,而parametermyFunction函数的形参,只能在myFunction函数中访问。

    请注意,在实际的程序中,变量的作用域可能会更加复杂,可能涉及到函数嵌套、结构体等复杂结构。因此,要判断变量的作用域,需要综合考虑程序的结构和上下文。

    综上所述,要判断一个变量是内部的还是外部的,通常可以根据变量的作用域来判断。如果变量是在全局范围内声明的,则为全局变量;如果变量是在函数内部声明的,则为局部变量;如果变量是函数的形参,则为形参。