当前位置: 代码迷 >> 综合 >> c语言程序结构,全局变量,局部变量
  详细解决方案

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

热度:2   发布时间:2023-12-16 15:09:09.0

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;
}




  相关解决方案