C语言:变量存储类别
2017-07-22 15:58
232 查看
任务代码:
外部变量:(用extern声明外部变量:一个文件内的全局变量)
静态变量和自动变量:
静态变量运用:(程序计数器)
关于静态变量初始化:
#include<stdio.h>
void add()
{
int x=0;
static int y=0;
printf("%d,%d\n",x,y); //0,0,0,2,注意第二次虽然在此命名静态变量y=0,但是上一次执行完的y不会被重新初始化!
x++;
y=y+2;
}
int main()
{
int i;
for(i=0; i<2; i++)
add();
return 0;
}
执行情况:
执行1:
执行 2:
执行3:
知识总结:
由此引出4种存储类别变量:
自动变量:
寄存器变量:
寄存器是cpu的重要组成部分,英语叫cache,是一个运算速率快但是存储空间小的内存。起作用主要用于高速数据缓存交换到运算器和ROM中
因此,寄存器变量用于设置一段程序中重复大量使用的变量;有利于是程序加速!
外部变量:
当变量声明位置不在函数之前的时候,想被之前的函数调用,那就需要用外部变量来声明如下:
静态局部变量:(性质如下)
!!当处于函数里面的变量如果设值为静态局部变量,该变量在函数调用结束后不会内存释放吗,会保留!!!!!
外部变量:(用extern声明外部变量:一个文件内的全局变量)
#include <stdio.h> int max(int,int); int main( ) { extern int a,b; //对全局变量a,b作提前引用声明 printf("%d\n", max(a,b)); return 0; } int a=15,b=-7; //定义全局变量a,b int max(int x,int y) { int z; z=x>y?x:y; return z; }
静态变量和自动变量:
#include <stdio.h> int f(int a) { auto int b=0; static int c=3; b=b+1; c=c+1; return a+b+c; } int main( ) { int a=2,i; for(i=0; i<3; i++) printf("%d ", f(a)); printf("\n"); return 0; }
静态变量运用:(程序计数器)
#include <stdio.h> int count_calls() { static int ctr=0; return ++ctr; } int main( ) { int i; for(i=0; i<10; i++) printf("%d\n", count_calls()); return 0; }
关于静态变量初始化:
#include<stdio.h>
void add()
{
int x=0;
static int y=0;
printf("%d,%d\n",x,y); //0,0,0,2,注意第二次虽然在此命名静态变量y=0,但是上一次执行完的y不会被重新初始化!
x++;
y=y+2;
}
int main()
{
int i;
for(i=0; i<2; i++)
add();
return 0;
}
执行情况:
执行1:
执行 2:
执行3:
知识总结:
由此引出4种存储类别变量:
自动变量:
寄存器变量:
寄存器是cpu的重要组成部分,英语叫cache,是一个运算速率快但是存储空间小的内存。起作用主要用于高速数据缓存交换到运算器和ROM中
因此,寄存器变量用于设置一段程序中重复大量使用的变量;有利于是程序加速!
外部变量:
当变量声明位置不在函数之前的时候,想被之前的函数调用,那就需要用外部变量来声明如下:
静态局部变量:(性质如下)
!!当处于函数里面的变量如果设值为静态局部变量,该变量在函数调用结束后不会内存释放吗,会保留!!!!!
相关文章推荐
- C语言变量的存储类别
- C语言变量的存储类别
- C语言变量的存储类别
- C语言中的变量访问控制和存储类别
- C语言变量的存储类别
- C语言变量的存储类别专题讲座-学C者必看
- C语言变量的存储类别
- C语言中局部变量和全局变量变量的存储类别(static,extern,auto,register)
- C语言中局部变量和全局变量的存储类别(static,extern,auto,register)
- C语言及程序设计提高例程-12 变量的存储类别
- 黑马程序员——C语言中变量的存储类别
- C语言中变量存储类别
- C语言-变量的存储类别(auto, static, register, extern)
- 7.2 C语言变量的存储类别
- C语言中局部变量和全局变量 变量的存储类别
- C语言中局部变量和全局变量变量的存储类别(static,extern,auto,register)
- c语言 变量的存储类别以及对应的内存分配?
- C语言中变量的存储类别及其存储方式
- C语言变量的存储类别
- C语言温习笔记之变量的存储类别