15 C変数の役割ドメイン

2672 ワード

1、ローカル変数とグローバル変数
#include 

int value; //     
int value; //     
int value; //     
int main()
{
    /*
     *     :
     *   :    {} ,   ,        
     *    :          ,     }      return  
     *      :               ,                   ,              
     *   :
     *           ,            
     *                     ,       ,          (    )
     *
     *     :
     *   :    {}         ,       
     *    :          ,       
     *      :                ,               ,              
     *   :
     *                ,              ,                   
     */
    int num = 6; //     
//    int num;
    {
        int num = 7; //     
        printf("num = %i
", num); } test(666); // printf("score = %i
", score); // return 0; } int score = 33; // void test(int a){ // value = 19; printf("value = %i
", value); }
#include 

int main()
{
    /*
     * auto,
     * register,
     * extern,
     * static
     */
    /*
     * auto register           
     *                
     * auto:          ,              
     *              auto ,        ,     -->    /    
     *
     * register:          ,         CPU    
     *             ,        ,      ,        ,         ,      -->    /   
     */

    {
//       auto int num = 9;
//       register int num = 9;
    }
//    printf("num = %i
", num); return 0; }

#include 
void test();
int main()
{
    /*
     * static        
     *     static      ,                       
     *              
     *
     *     :
     *     ,        
     */
    test();
    test();
    test();

    return 0;
}
void calculate(int r){
    // PI        ,            ,               ,       
    //   PI static   ,         ,          
    static double pi = 3.1415926;
    return r * r * pi;
}

void test(){
    static int num = 0; //     
    num++; //  1 2 3
    printf("num = %i
", num); // 1 2 3 }
#include 

int main()
{
    /*
     * extern        
     * extern        ,              
     * extern        ,         extern       
     *
     *
     * extern        
     * extern        ,              
     * exter        ,         
     *
     *   :
     *     ,                   ,         ,            ,           
     *     ,               ,        ,              ,       ,         
     */
    extern int num;
    num = 998;
//    int num; //          
    printf("num = %i
", num); return 0; } int num;