精华内容
下载资源
问答
  • 深入c语言_存储类型

    2017-07-24 21:46:57
    变量的存储类型就是告诉变量存储在哪些地方的,虽然这么说不太严谨,因为寄存器类型的导致的,但是可以这么理解。最重要的是根据变量的存储类型可以确定变量的生命周期。这个很好理解,栈的变量和堆的变量以及数据...

        了解计算机的都知道内存有很多种,比如寄存器,内存,内存中又有很多段,代码段,数据段,堆栈等等与编程相关的,数据段还可以细分,初始化的,未初始化的,只读的等等。所以一个变量,可以在多种地方存储。变量的存储类型就是告诉变量存储在哪些地方的,虽然这么说不太严谨,因为有寄存器类型的导致的,但是可以这么理解。最重要的是根据变量的存储类型可以确定变量的生命周期。这个很好理解,栈的变量和堆的变量以及数据段的变量生命周期肯定是不一样的,应为栈的变量在出栈后就不能用了,堆里的变量free后就不能用了。

        我们把内存在这里分成三类,寄存器,运行时的堆栈,普通内存。就是把除了寄存器的内存在另一个角度看待又分了一下。

        具有代码块类型的变量的存储类型是auto,对应的是堆栈中,离开代码块后变量便销毁了。但是如果在代码块中的变量被static修饰后,它的存储类型就变成了静态,对应的是普通内存。

        auto类型的变量被register修饰后,它都有可能被存放到寄存器中,之所以说是有可能是因为,一个cpu里寄存器的数量非常少,而且寄存器都有不同的作用,所以给我们使用的寄存器不多,如果可以的话,cpu就把我们的变量存到寄存器,因为它只能修饰auto变量,所以它的声明周期和auto一样。


    展开全文
  • 下面介绍C 程序中可用的存储类。 一、auto auto称为自动变量。 { int mount; auto int month; } 上面的实例定义了两个带相同存储类的变量,auto 只能用在函数内,即 auto 只能修饰局部变量。 局部...

    存储类定义 C 程序中变量/函数的范围(可见性)和生命周期。这些说明符放置在它们所修饰的类型之前。下面介绍C 程序中可用的存储类。

     

    一、auto

    auto称为自动变量。

    {

      int mount;

      auto int month;

    }

    上面的实例定义了两个带有相同存储类的变量,auto 只能用在函数内,即 auto 只能修饰局部变量。

    局部变量是指在函数内部说明的变量(有时也称为自动变量)。用关键字auto进行说明, 当auto省略时, 所有的非全程变量都被认为是局部变量, 所以auto实际上从来不用。

    局部变量在函数调用时自动产生, 但不会自动初始化, 随函数调用的结束, 这个变量也就自动消失了, 下次调用此函数时再自动产生, 还要再赋值, 退出时又自动消失。

     

    二、static

    static称为静态变量。根据变量的类型可以分为静态局部变量和静态全程变量。

    1. 静态局部变量

    它与局部变量的区别在于: 在函数退出时, 这个变量始终存在, 但不能被其它函数使用, 当再次进入该函数时, 将保存上次的结果。其它与局部变量一样。

    2. 静态全程变量

    Turbo C2.0允许将大型程序分成若干独立模块文件分别编译, 然后将所有模块的目标文件连接在一起, 从而提高编译速度, 同时也便于软件的管理和维护。静态全程变量就是指只在定义它的源文件中可见而在其它源文件中不可见的变量。它与全程变量的区别是: 全程变量可以再说明为外部变(extern), 被其它源文件使用,而静态全程变量却不能再被说明为外部的, 即只能被所在的源文件使用。

    static存储类指示编译器在程序的生命周期内保持局部变量的存在,而不需要在每次它进入和离开作用域时进行创建和销毁。因此,使用 static 修饰局部变量可以在函数调用之间保持局部变量的值。

    static 修饰符也可以应用于全局变量。当 static 修饰全局变量时,会使变量的作用域限制在声明它的文件内。

    全局声明的一个 static 变量或方法可以被任何函数或方法调用,只要这些方法出现在跟 static 变量或方法同一个文件中。

     

    以下实例演示了 static 修饰全局变量和局部变量的应用:

    实例

    #include<stdio.h> /* 函数声明 */ void func1(void); static int count=10; /* 全局变量 - static 是默认的 */ int main() { while (count--) { func1(); } return 0; } void func1(void) { /* 'thingy' 是 'func1' 的局部变量 - 只初始化一次 * 每次调用函数 'func1' 'thingy' 值不会被重置。 */ static int thingy=5; thingy++; printf(" thingy 为 %d , count 为 %d\n", thingy, count); }

    实例中 count 作为全局变量可以在函数内使用,thingy 使用 static 修饰后,不会在每次调用时重置。

    可能您现在还无法理解这个实例,因为我已经使用了函数和全局变量,这两个概念目前为止还没进行讲解。即使您现在不能完全理解,也没有关系,后续的章节我们会详细讲解。当上面的代码被编译和执行时,它会产生下列结果:

    thingy 为 6 , count 为 9

    thingy 为 7 , count 为 8

    thingy 为 8 , count 为 7

    thingy 为 9 , count 为 6

    thingy 为 10 , count 为 5

    thingy 为 11 , count 为 4

    thingy 为 12 , count 为 3

    thingy 为 13 , count 为 2

    thingy 为 14 , count 为 1

    thingy 为 15 , count 为 0

     

     

    三、extern

    extern称为外部变量。为了使变量除了在定义它的源文件中可以使用外, 还要被其它文件使用。因此, 必须将全程变量通知每一个程序模块文件, 此时可用extern来说明。

    当您使用extern时,对于无法初始化的变量,会把变量名指向一个之前定义过的存储位置。

    当您有多个文件且定义了一个可以在其他文件中使用的全局变量或函数时,可以在其他文件中使用extern来得到已定义的变量或函数的引用。可以这么理解,extern是用来在另一个文件中声明一个全局变量或函数。

    extern 修饰符通常用于当有两个或多个文件共享相同的全局变量或函数的时候,如下所示:

    第一个文件:main.c

    实例

    #include<stdio.h> int count ; extern void write_extern(); int main() { count = 5; write_extern(); }

    第二个文件:support.c

    实例

    #include<stdio.h> extern int count; void write_extern(void) { printf("count is %d\n", count); }

    在这里,第二个文件中的extern关键字用于声明已经在第一个文件 main.c 中定义的count。现在 ,编译这两个文件,如下所示:

    $ gcc main.c support.c

    这会产生a.out可执行程序,当程序被执行时,它会产生下列结果:

    count is 5

     

     

    四、register

    register称为寄存器变量。它只能用于整型和字符型变量。定义符register说明的变量被Turbo C2.0存储在CPU的寄存器中, 而不是象普通的变量那样存储在内存中, 这样可以提高运算速度。但是Turbo C2.0只允许同时定义两个寄存器变量,一旦超过两个, 编译程序会自动地将超过限制数目的寄存器变量当作非寄存器变量来处理。因此, 寄存器变量常用在同一变量名频繁出现的地方。

    register存储类用于定义存储在寄存器中而不是 RAM 中的局部变量。这意味着变量的最大尺寸等于寄存器的大小(通常是一个词),且不能对它应用一元的 '&' 运算符(因为它没有内存位置)。

    {

      register int  miles;

    }

    寄存器只用于需要快速访问的变量,比如计数器。还应注意的是,定义 'register' 并不意味着变量将被存储在寄存器中,它意味着变量可能存储在寄存器中,这取决于硬件和实现的限制。

    另外, 寄存器变量只适用于局部变量和函数的形式参数, 它属于auto型变量,因此, 不能用作全程变量。定义一个整型寄存器变量可写成:register int a;

     

     

    看到这里你是不是对“C语言”又有了一点新的认知呢~

    如果你喜欢这篇文章的话,动动小指,加个关注哦~

    如果你也想成为程序员,想要快速掌握编程,这里为你分享一个学习企鹅圈子!

    里面有资深专业软件开发工程师,在线解答你的所有疑惑~C语言入门“so easy”

    资料包含:编程入门、游戏编程、课程设计、黑客

    展开全文
  • 1.C语言存储类型有哪些?各自适用场景和区别。 变量声明 : <存储类型> <数据类型> <变量名> 存储类型有:auto(默认) register static extern auto: 存储局部变量,必须初始化,不然是...

    存储类型

    1.C语言中存储类型有哪些?各自的适用场景和区别。

    变量的声明 : <存储类型> <数据类型> <变量名>
    存储类型有:auto(默认) register static extern

    • auto: 存储局部变量,必须初始化,不然是随机值

    • register: 寄存器类型,将变量放到CPU的寄存器中可以加快程序的运行速度
      -在申请不到空间时,就会使用一般内存,同auto
      -寄存器变量是没有地址而言,不能用取地址符 &

    • static 静态存储类型的变量 修饰局部变量,默认是0
      -在内存中是以固定的地址存放,而不是以堆栈的形式存放
      -只要程序没结束,就不会随着说明它的程序段的结束而消失,下次再调用该函数,该存储类型的变量不会再重新说明,而且还保留上次调用存入的数值。
      -static修饰的全部变量,其他文件无法使用

    • extern:外部参照引用类型
      < extern > <外部变量数据类型> <外部变量名>
      -当一个变量在一个文件的函数体外声明,所有其他文件中的函数或程序端都可引用这个变量。

    对比auto 与 static 修饰局部变量的区别

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        int i = 1;
        while(i<5)
        {
            int a = 0;  //默认是 auto 类型
            a++;
            printf("a = %d\n",a);
            i++;
    
        }
        return 0;
    }
    输出为 
    a=1
    a=1
    a=1
    a=1
    
    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        int i = 1;
        while(i<5)
        {
            static int a = 0;  //此为static 类型
            a++;
            printf("a = %d\n",a);
            i++;
    
        }
        return 0;
    }
    输出为 
    a=1
    a=2
    a=3
    a=4
    

    extern 使用举例 (linux ubuntu)
    在这里插入图片描述

    内存空间管理

    1.C/C++中的内存区间有几种?各自的特点是?

    C/C++ 中分为 代码区 静态存储区 局部变量存储区(即栈区) 动态存储区(即堆区)

    • 代码区通常是指用来存放程序执行代码的一块内存区域。这部分区域的大小在程序运行前就已经确定,并且内存区域通常属于只读。
    • 静态存储区一般用来存储 全局变量,static 修饰的变量,以及字符串常量。静态存储区内的变量在程序编译阶段已经分配好内存空间并初始化。这块内存在程序的整个运行期间都存在。
    • 局部变量存储区(栈区):主要存放函数的参数以及局部变量
      在函数完成执行,系统自行释放栈区内存,不需要用户管理。栈内存分配运算 内置于处理器的指令集中,效率很高,但是分配的内存容量(stack size)有限。
    • 动态存储区(堆区)
      有些操作对象只有在程序运行时才能确定,这样在编译器在编译时就无法为他们预定存储空间。
      所有动态存储分配都在堆区进行,利用malloc 和 free 申请内存和释放内存。

    举例分析:以下程序会得到什么样的结果?怎么修改呢?

    #include <stdio.h>
    #include <stdlib.h>
    
    char * get_string()
    {
        char s[]="Welcome!";
        return s;
    
    }
    int main()
    {
        char * p;
        p = get_string();
        printf("%s\n",p);
    
        return 0;
    }
    

    解答:从内存的角度,字符数组 s (放在栈区)在函数调用完后立即释放了内存,传不到p ,所以会输出一段乱码,并不能得到预期的结果 Welcome!

    修改方式

    char s[]="Welcome!"; 改为 static char s[] = "Welcome!"; 或者 char * s = "Welcome!"; //但这样改,就不能修改此常量的值
    或者:

    #include <stdio.h>
    #include <stdlib.h>
    
    char * get_string()
    {
        char *s;
        s = (char *)malloc(10*sizeof(char));    //在函数内部使用malloc
        if(s==NULL)
        {
            printf("malloc failed!\n");
            return 0;
        }
        
        printf("please input:");
        scanf("%s",s);   //这里 不能以 s="welcome!"的方式赋值,等式左边s 申请的是一块动态内存,放在堆区,等式右边是一个字符串常量,放在静态存储区,会引起段错误,将 s 的地址更新后,就肯定不能正确的释放申请的堆内存空间!
        printf("s = %s\n",s);
        return s;       //若改成 s="welcome"的形式,这里return 就是返回的静态存储区的地址,后面 free(p)就会造成段错误,原来申请的堆内存不能正确释放
    
    }
    int main()
    {
        char * p;
        p = get_string();
        printf("p = %s\n",p);
    
        free(p);                          //在函数外部释放
        p = NULL;
        return 0;
    }
    
    

    malloc free 解析

    1.malloc/free的使用注意事项

    • void * malloc(size_t num) malloc函数原型,注意返回的是一个 void * 类型,是申请到的内存的起始地址。因此,在调用malloc时要显式的进行类型转换,将 void * 转换成所需要的指针类型。
    • void free (void *p),这里的参数是申请到的内存的起始地址,如果参数是NULL的话,没有任何效果。同时,只释放一块内存中的一部分是不允许的。
    • malloc 本身并不识别要申请的内存是什么类型,它只关心内存的总字节数。
      malloc 申请到的是一块连续的内存,有时可能会比所申请的空间大,有时也会申请不到内存,返回一个空指针(NULL),表示发生了异常,堆资源不足,动态内存分配失败。
    • malloc 与 free 总是配对使用的,free只能用来释放堆空间。如果malloc返回的指针值丢失,则所分配的堆空间也无法回收,称内存泄漏。而且,同一空间的重复释放也是危险的,因为该空间可能已经重新分配,所以必须妥善保存malloc返回的指针。
    • free (p); 的意思是 删除了p所指的目标(变量或者对象等),释放了它所占的堆空间,而不是删除p本身,因此p就成了空悬指针,所以也经常在 free(p);后再加一句 p=NULL; 确保安全。
    • 动态分配的变量或者对象的生命期:无名对象生命期并不依赖于建立它的作用域,比如在函数中建立的动态对象在函数返回后仍然可以使用,我们也称堆空间为自由空间就是这个原因。但必须记住释放该对象所占的堆空间,并且只能释放一次。

    用例分析

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        char * p;
        p = (char *)malloc(10*sizeof(char)); //必须进行类型转换,因为malloc默认返回void * 类型 ,必须说明申请内存空间的大小
        if(p==NULL)
        {
            printf("malloc failed!\n");
            return 0;
        }
        printf("p = %p\n",p); //查看其分配的内存空间的首地址
    
        printf("input:");
        scanf("%s",p);    //必须保证输入的值不能多,最后 '\0' 还要占一位
        printf("p = %s\n",p);
    
        free(p);
        p = NULL;
    
        return 0;
    }
    
    

    把一个结构体放到堆内存中,怎么写?

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    #define N 20
    
    typedef struct student{
      int no;
      char name[N];
      float score;
    }Stu;
    
    Stu * get_info()
    {
       Stu *p;
       if ((p=(Stu *)malloc(sizeof(Stu)))==NULL)
       {
           printf("malloc failed");
           return NULL;
       }
       p->no = 1;
       strcpy(p->name,"Tom");
       p->score = 90;
    
       return p;
    
    }
    int main()
    {
        Stu * s;
        if((s=get_info())==NULL)
        {
            return 0;
        }
        printf("Student info: %d %s %.2f\n",s->no,s->name,s->score);
    
        free(s);
        s=NULL;
        return 0;
    }
    
    

    野指针

    是指向“垃圾”内存的指针。它是很危险的。

    • 指针变量没有初始化。
    • 指针p被free后,没有置为NULL,让人误以为p 是个合法的指针。
    • 指针操作超越了变量的作用范围。
    char *p;
    char s[] = "wel";
    p=s;
    strcpy(p,"welcome"); //越界
    
    展开全文
  • C语言的关键字:auto、break、case、char、const、continue、default、do、double、else、enum、extern、float、...一、C语言的关键字共有32个,根据关键字的作用,可分其为数据类型关键字、控制语句关键字、存储类...

    C语言的关键字:auto、break、case、char、const、continue、default、do、double、else、enum、extern、float、for、goto、if、int、long、register等等。

    6be731cfbd01e48fe7cd792f0310f8a2.png

    本教程操作环境:windows10系统、c99版本、Dell G3电脑。

    一、C语言的关键字共有32个,根据关键字的作用,可分其为数据类型关键字、控制语句关键字、存储类型关键字和其它关键字四类。

    1、数据类型关键字(12个):

    (1) char :声明字符型变量或函数

    (2) double :声明双精度变量或函数

    (3) enum :声明枚举类型

    (4) float:声明浮点型变量或函数

    (5) int: 声明整型变量或函数

    (6) long :声明长整型变量或函数

    (7) short :声明短整型变量或函数

    (8) signed:声明有符号类型变量或函数

    (9) struct:声明结构体变量或函数

    (10) union:声明共用体(联合)数据类型

    (11) unsigned:声明无符号类型变量或函数

    (12) void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)

    2、控制语句关键字(12个):A循环语句

    (1) for:一种循环语句(可意会不可言传)

    (2) do :循环语句的循环体

    (3) while :循环语句的循环条件

    (4) break:跳出当前循环

    (5) continue:结束当前循环,开始下一轮循环B条件语句

    (1)if: 条件语句

    (2)else :条件语句否定分支(与 if 连用)

    (3)goto:无条件跳转语句C开关语句

    (1)switch :用于开关语句

    (2)case:开关语句分支

    (3)default:开关语句中的“其他”分支D返回语句

    return :子程序返回语句(可以带参数,也看不带参数)

    3、存储类型关键字(4个)

    (1)auto :声明自动变量 一般不使用

    (2)extern:声明变量是在其他文件正声明(也可以看做是引用变量)

    (3)register:声明寄存器变量

    (4)static :声明静态变量

    4、其它关键字(4个):

    (1)const :声明只读变量

    (2)sizeof:计算数据类型长度

    (3)typedef:用以给数据类型取别名(当然还有其他作用

    (4)volatile:说明变量在程序执行中可被隐含地改变

    二、C语言中的9中控制语句goto语句:无条件转向;

    if语句:判断语句;

    while循环语句;

    do-while语句:先执行循环体,然后判断循环条件是否成立. 之后继续循环;

    for语句:循环,可替代while语句; 只是用法不同;

    break语句跳出本层的循环;(只跳出包含此语句的循环)

    continue语句:继续(一般放到循环语句里,不在执行它下面的语句,直接跳到判断语句例:for语句,就直接跳到第二个分号处,while语句,就直接跳到while()的括号里;

    switch语句:多相选择;

    return语句:返回;

    展开全文
  • c语言的关键字有哪些关于C语言的关键字的作用是饿很难强大的。多了解对编程有很大的作用,下面是相关的知识,欢迎阅读。数据类型修饰相关auto按照自动的方式进行变量的存储const定义常量或常参数extern声明外部变量...
  • C语言中的变量有哪些存储类型,你还记得吗?extern如何使用你都掌握了吗?看了本文你就清楚了。 1、回顾C语言变量 C语言中变量值的存储位置有两类:CPU的寄存器和内存。变量存储类型关系到其存储位置,除...
  • 问题5 C语言的应用领域有哪些

    千次阅读 2012-10-25 22:01:09
    一个简单C程序,算法入门,常用数据类型,运算符与表达式,输入/输出函数,选择、分支结构程序设计,循环结构,数组,函数编程基础,指针解析,常用数据结构,位运算操作符,存储管理,预处理和函数类型,文件...
  • C语言 第二章 数据及存储及运算第二章 数据的存储与运算 目标 熟悉C语言中常用的数据类型 理解变量和常量的含义,了解符号常量 掌握各种基本数据类型相关内容:变量的声明和初始化,存储特点,其他特点 使用算术...
  • C语言数据的存储-上

    千次阅读 2021-03-02 15:20:40
    首先介绍一下数据类型有哪些 整形类 char//其在内存中以ASCII码形式存储,ASCII码为整数,所以归为整形类 signed char//有符号 unsigned char//无符号 short signed short unsigned short int signed ...
  • c语言有哪些默认double

    千次阅读 2018-08-04 17:27:23
    1,double类型和其他类型混合运算,自动转换为double(低类型向高类型转换,但其存储类型不变)。 2,函数返回值按函数类型转换。 3,赋值表达中右边自动转换成左边再赋值。 4,像很多库函数如fabs,sqrt,fmod,exp...
  • 一、作用域和生存期 C程序标识符作用域三种:局部、全局、文件。标识符作用域决定了程序中的哪些语句可以使用它,换句话说,就是标识符在程序其他部分可见性。通常,标识符作用域都是通过它在程序中位置...
  • C语言:超详细的C语言数据类型

    千次阅读 多人点赞 2020-12-24 23:00:55
    数据类型:是程序设计语言预先做好工具,每种类型处理一类数据(比如处理整型数工具,处理实型数数据)。 如果要处理数据类型,一定要注意两个方面东西: (1)数据取值范围:这一个类型的数据,在...
  • 变量作用域和存储类型 一、作用域和生存期 C程序标识符作用域三种:局部、全局、文件。标识符作用域决定了程序中的哪些语句可以使用它,换句话说,就是标识符在程序其他部分可见性。通常,标识符...
  • 上次在面试时被面试官问到学了哪些数据结构,那时...C语言的基本数据类型有:整型int,浮点型float,字符型char等等 添加描述 那么,究竟什么是数据结构呢? 数据结构是计算机存储、组织数据的方式。数据结构是指相...
  • C语言数据类型

    2015-06-04 09:14:28
    一:C语言的数据类型数据的分类1:静态的数据 概念:静态数据是指一些永久性的数据,一般存储在硬盘中。硬盘的存储空间一般都比较大,现在普通计算机的硬盘都500G左右,因此硬盘中可以存放一些比较大的文件。 ...
  • 在我们学习此之前,我们先来回忆一下C语言中都有哪些数据类型呢? 首先我们来看看C语言基本内置类型: char //字符数据类型 short //短整型 int //整形 long //长整型 long long //更长整形 float //单精度...
  • C语言的指针类型解析大家知道C语言的指针有哪些类型吗?下面小编为大家整理了C语言的指针类型解析,希望能帮到大家!指针存储了内存的地址,同时指针是有类型的,如int*,float*,那么,一个自然的猜想就是指针变量...
  • 你能学到什么数据类型有哪些整型二、使用步骤1.引入库2.读入数据总结 数据类型有哪些 整型:存储整数(如:int) 浮点型/实型:存储浮点数(如:double) 字符型:存放字符(如:char) (以下基于VS编译器) 整型...
  • 标识符作用域决定了程序中的哪些语句可以使用它,换句话说,就是标识符在程序其他部分可见性。通常,标识符作用域都是通过它在程序中位置隐式说明。 1.局部作用域 前面各个例子中变量都是局部作用域,...
  • 线性表 线性表是0个或多个类型相同...一个线性表有哪些具体操作,在程序中表现为一组函数 创建线性表 销毁线性表 清空线性表 将元素插入线性表 将元素从线性表中删除 获取线性表中某个位置元素 获取线性表长度
  • 存储的类型有哪些 ?auto 存储类 什么是存储类? 存储类定义 C 程序中变量/函数范围(可见性)和生命周期 存储的类型有哪些 ? 存储类型有四种,分别是:auto,static,register,extern. ...
  • 变量有哪些要素?A1,A2: 其值在其作用域内可以改变的量被称为变量 变量有名字、一定的存储空间 变量必须要定义,有地址(对应存储空间的首地址) 变量依据定义的类型分类,它的大小由类型决定。 Q3:什么是变量值?...
  • 但是为什么数组却能将内部元素当作定义时的类型存储呢?我对C语言指针和数组这方面知识比较欠缺。希望能被点醒。或推荐一些资料(看过一些帖子,没有遇到相似情况)。</p>
  • 程序说到底就是对数据处理,所以首先要弄清楚需要处理哪些数据,计算机如何存储这些数据。C语言根据需要,抽象出了一些基本数据类型和衍生数据类型。这些可以满足大部分需求,更复杂抽象数据类型亦可通过它们来...
  • C语言有哪些数据类型?各种基本数据类型所占存储空间长度如何?解:略。若有定义int a=7; float x=2.5, y=4.7; 则表达式x+a%3*(int)(x+y)%2/4值为多少?解:2.5假设所有变量均为整型,则表达式(a=2, b=5, b...
  • 关于C语言的一点说明

    2008-10-28 10:06:00
    一个变量的类型决定着这个变量需要占用多大的存储空间以及对这个变量可以进行哪些操作;一个变量的作用域说的是这个变量在程序上下文里的哪些部分是可见的。变量的作用域由它在程序里的声明位置来控制。作用域的边界...
  • 你必须知道495个C语言问题

    千次下载 热门讨论 2015-05-08 11:09:25
    1.10 同一个静态(static)函数或变量所有声明都必需包含static存储类型吗? 1.11 extern在函数声明中是什么意思? 1.12 关键字auto到底什么用途? 类型定义(typedef) 1.13 对于用户定义类型,typedef和#...
  • C语言课件第三章1.ppt

    2020-10-27 05:32:42
    第3章 数据类型运算符与表达式 为什么要有数据类型 不同编程语言数据类型是否相同 C语言的数据类型有哪些 什么是常量和变量如何标识 本章的主要内容 第3章 数据类型运算符与表达式 算术运算符和算术表达式 赋值...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 140
精华内容 56
关键字:

c语言的存储类型有哪些

c语言 订阅