c语言程序结构,全局变量,局部变量

c语言程序结构:

//
//  main.c
//  ProgrameStructDemo2
//
//  Created by 千 on 16/7/23.
//  Copyright © 2016年 kodulf. All rights reserved.
//

/*文件包含指令*/
#include <stdio.h>
/*宏定义*/
#define TRUE 1
#define FALSE 0

/*类型定义*/
typedef int BOOL;
typedef struct{
    int age;
    char name[10];
}Person;
/*全局变量*/
int global=100;
/*函数原型声明*/
int sum(int,int);
int avg(int,int);

/*主函数*/
int main(int argc, const char * argv[]) {
    // insert code here...
    printf("Hello, World!\n");
    return 0;
}

/*函数定义*/
int sum(int a, int b){
    return a+b;
}

int avg(int a,int b){
    return (a+b)/2;
}



作用域---》片警


局部变量磨人的就是自动存储期限,其实就是指的是java 里面的局部变量使用完了就就出栈了
全局变量默认的就是静态存储期限,其实就是java中的静态变量

局部变量也可以声明为静态存储期限的static,就是说初始化只要一次,第二次用的时候不需要初始化了。


//
//  main.c
//  ProgrameStructDemo
//
//  Created by 千 on 16/7/22.
//  Copyright © 2016年 kodulf. All rights reserved.
//
/*
 局部变量磨人的就是自动存储期限,其实就是指的是java 里面的局部变量使用完了就就出栈了
 全局变量默认的就是静态存储期限,其实就是java中的静态变量
 局部变量也可以声明为静态存储期限的static,就是说初始化只要一次,第二次用的时候不需要初始化了。
 */

#include <stdio.h>

//作用域---》片警

//g,k,age就是全局变量,当前文件中都可以访问,include 进来都是可以的
//全局变量要谨慎使用,多线程访问时的程序同步也是个问题

int g;
int k;
int age;

//局部变量有自动存储期限,调用完了立刻清楚,函数调用的时候分配内存,调用结束立刻释放
//a,b,temp为局部变量
int max(int a,int b){
    int temp;
    temp = a>b?a:b;
    return temp;
}

//如果局部变量前面加了static ,该变量由自动存储期限变为静态存储期限,那么这个变量在程序结束的时候才释放
//静态存储期限:一旦定义一直存在,直到程序结束

int min(int a,int b){
    //只初始化一次。第二次调用时候,默认的就不进行初始化了,(注意作用域是没有变的,还是局部变量)
    static int temp[]={1,2,3,4,5};
    
    return temp[0];
}

//当局部变量和全局变量相同的时候,就近原则,就是使用局部变量
int jj=100;
void f(int jj){
    printf("jj=%d\n",jj);
}


int main(int argc, const char * argv[]) {
    // insert code here...
    printf("Hello, World!\n");
    //当局部变量和全局变量相同的时候,就近原则,就是使用局部变量
    f(1111111);
    return 0;
}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值