static:作用:1、进行内部链接指定(将全局变量或者函数限定为在本文件内可用)      2、改变局部变量的生命周期(使得局部变量存储在静态区,在整个程序结束时才释放)      3、定义一个变量时,加上static前缀,定义的变量默认初始化为0;extern:1、进行外部链接指定(使得全局变量或者函数在其他文件内也可以使用)&nbs            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2016-04-04 13:17:05
                            
                                859阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            static extern const volatileC语言中的对于变量的定义方式有很多种,使用的地方也有所不同,这边就对几种类型进行一个总结,对于实际编程的使用或面试时都会有很大的帮助。1. static:静态变量a、当我们把一个全局变量声明为static时:只有它的作用范围变为本源文件,也就是属性由external变为internal,其它不变;b、当我们把函数声明为static...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-01-07 10:19:25
                            
                                84阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Mutable&const&volatile&extern&Static            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2013-12-03 18:14:30
                            
                                452阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            static和extern1.这是我们C语言中的两个关键字.是用来修饰变量和函数1),static和extern修饰局部变量的效果2)。static和extern修饰全局变量的效果3),static和extern修饰函数的效果2,static修饰局部变量1),如果局部变量被static修饰,这个变量就叫做静态变量2),静态变量不再存储在栈区域,而是存储在常量区。3)当函数执行完毕之后.这个静态变量            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-11-09 13:05:23
                            
                                132阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1. 局部变量: 
局部变量也叫自动变量, 它声明在函数开始, 生存于栈, 它的生命随着函数返回而结束. 
#include <stdio.h>
int main(void)
{
    auto int i = 9; /* 声明局部变量的关键字是 auto; 因可以省略, 几乎没人使用 */   
    printf("%d\n", i);  
    g            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                            精选
                                                        
                            2008-12-31 12:32:30
                            
                                1704阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            C语言是一门广泛应用于系统级编程的高级编程语言,它提供了很多关键字和特性,其中包括static、volatile和extern。这些关键字有助于我们在编写C代码时更加灵活和高效。在本篇博客中,我们将深入探讨这些关键字的用法和作用。static在C语言中,static是一种用于指定变量或函数作用域的关键字。具体来说,它有以下两种用法:1. 静态变量在函数内部定义的变量默认情况下都是自动变量,它们在函            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-07-22 21:22:25
                            
                                704阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目录extern和static的区别extern的使用:static 静态变量extern和static的区别extern的使用://main.c#include<stdio.h>#include"test.h"extern int x;int main(){    printf("%d\n",x);    return 0;}在mian.c里面使用其他.c文...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-06-17 10:13:53
                            
                                373阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目录extern和static的区别extern的使用:static 静态变量
extern和static的区别
extern的使用://main.c#include<stdio.h>#include"test.h"extern int x;int main(){    printf("%d\n",x);    return 0;}在mian.c里面使用其他.c            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-03-14 10:49:13
                            
                                196阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            =            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-07-17 00:07:42
                            
                                219阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            你能很随意地说出C语言中 auto,register,volatile,extern,static,const这几个关键字的含义和用法么?      auto  这个关键字用于声明变量的生存期为自动。    C程序是面向过程的,在C代码中会出现大量的函数模块,每个函数都有其生命周期(也称作用域),在函数生命周期中声明的变量通常叫做局部变量,也叫自动变量。    auto 变量是用堆栈(stack)            
                
                    
                        
                                                                            
                                                                                        原创
                                                                                    
                            2013-10-29 23:30:00
                            
                                975阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            auto   这个这个关键字用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键字不怎么多写,因为所有的变量默认就是auto的。 
register   这个关键字命令编译器尽可能的将变量存在CPU内部寄存器中而不是通过内存寻址访问以提高效率。 
static   常见的两种用途:     1>统计            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                            精选
                                                        
                            2008-12-31 12:17:59
                            
                                525阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1、static全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2013-08-27 15:50:57
                            
                                379阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在上一节我们把两个程序文件放在一起编译链接,main.c用到的函数push、 pop和is_empty由stack.c提供,其实有一点小问题,我们用-Wall选项编译main.c可以看到: 由于编译器在处理函数调用代码时没有找到函数原型,只好根据函数调用代码做隐式声明,把这三个函数声明为: 为什么编            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2018-04-08 08:46:00
                            
                                146阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            今天在看一个源码的时候,发现对于static 和extern 还是不太理解,so 又stackoverflow一发,记录一下。extern在linux c 中,extern对于variable和function是不一样的variable对于variable来说,extern就是一个声明,声明目标文件在链接的时候把几个变量链接到一起,相当于超链接或者软连接是一个道理 是一个映射,在链接的时候映射            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-01-13 15:21:15
                            
                                451阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数名而不是C++的,C++的规则在翻译这个函数名时会把fun这个名字变得面目全非,可能是fun@aBc_int_int#%$也可能是别的,这要看编译器的"脾气"了(不同的编译器采用的方法不一样),因为C++支            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2016-07-02 16:47:00
                            
                                847阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            /*
全局变量和局部变量 :
    全局变量 : 
        1,如果没有初始化,默认值为0;
        2,存储在静态区中,随着程序启动而创建,程序结束而释放;
     局部变量 : 
         1,作用域 : 自定义位置起至return或"}"结束;
         2,同一个作用域内,局部变量不可同名;
         3,未初始化的局部变量中,保存着一堆乱码;
            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2019-05-01 08:59:04
                            
                                413阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、const与宏的区别(面试题): const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量。 编译时刻:宏是预编译(编译之前处理),const是编译阶段。 编译检查:宏不做检查,不会报编译错误,只是替换,const会编译检查,会报编译错误。 宏的好            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2017-07-20 19:59:00
                            
                                81阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            html在讨论全局变量之前我们先要明白几个基本的概念:1. 编译单元(模块): 在IDE开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2012-03-01 12:49:00
                            
                                77阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
             
    using namespace std;  
      
    int count = 3;  
    int main()  
    {  
       &            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2013-04-23 18:48:48
                            
                                348阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            auto 局部变量     auto 变量是用堆栈(stack)方式占用储存器空间,因此,当执行此区段是,系统会立即为这个变量分配存储器空间,而程序执行完后,这个堆栈立即被系统收回.在大括号{}内声明.     自动变量就是指在函数内部定义使用的变量。他只是允许在定义他的函数内部            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                            精选
                                                        
                            2013-09-10 22:00:37
                            
                                3677阅读