zoukankan      html  css  js  c++  java
  • C语言笔记-函数-存储期和作用域

     1 #include <stdio.h>
     2 int a=0;
     3 /*a是文件作用域,所以fun可以调用它
     4 另外a有静态存储期,意味着程序不结束,它就一直存在.*/
     5 void fun(void)
     6 {
     7     static int b=0;
     8     /*b是块作用域.只能在fun函数内使用.
     9     b有static修饰,也有了静态存储期,意味着程序不结束,它就一直存在,不会随着fun函数的结束而销毁*/
    10     int c=0;
    11     /*c是块作用域,只能在fun函数内使用
    12     c有自动存储期,当fun函数运行时它被创立,此时要赋值,不然可能被初始化为垃圾值
    13     当fun函数运行到自己的}时候,c会被销毁.*/
    14     printf("%3d %3d %3d
    ",a++,b++,c++);
    15 }
    16 int main()
    17 {
    18     int i;
    19     puts("  a   b   c");
    20     puts("  ---------");
    21     for(i=0;i<10;i++)
    22     {
    23         fun();
    24     }
    25     puts("  ---------");
    26     return 0;
    27 }

    结果是:

      a   b   c
      ---------
      0   0   0
      1   1   0
      2   2   0
      3   3   0
      4   4   0
      5   5   0
      6   6   0
      7   7   0
      8   8   0
      9   9   0
      ---------
  • 相关阅读:
    解决哈希(HASH)冲突的主要方法
    破解
    打工
    [JSOI2007]麻将
    [JSOI2007]建筑抢修
    [HAOI2007]上升序列
    [HAOI2007]覆盖问题
    [CQOI2017]小Q的棋盘
    [HEOI2015]兔子与樱花
    [HEOI2015]定价
  • 原文地址:https://www.cnblogs.com/alpharobert/p/5349260.html
Copyright © 2011-2022 走看看