加了static 就相当于全局变量了, 下次再调用这个函数时,仍然保持上次的值.如果没有static 就是局部变量.
#define uchar unsigned char uchar i; static int n=0; uchar niu[9]={1,3,6,9,5,20,100,12}; int led(char x); main() { for(i=0;i<3;i++) { n=n+1; led(n); } } int led(char x) { n=niu[x]; //3,5,100 printf("%d\t",n); return n; } 执行完程序后,输出n...
写这篇章主要是一下自己的staic的理解和应用,当然在章开头依旧要照本宣科简述一下static关键字。 1、简述 static关键字在嵌入式C语言当中很简单,它有三个作用: 作用一:在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 voidtest1(void){unsignedchara;staticunsignedcharb;…a++;b++;}...
//将unsigned int重命名为uint_32, 所以uint_32也是一个类型名 typedef unsigned int uint_32; int main() { //观察num1和num2,这两个变量的类型是一样的 unsigned int num1 = 0; uint_32 num2 = 0; return 0; } 1. 2. 3. 4. 5. 6. 7. 8. 9. (2)static static关键字有三个功能 修饰...
unsignedchara;staticunsignedcharb; … a++; b++; } 在这个例子中,变量a是局部变量,变量b为局部静态变量。作用一说明了局部静态变量b的特性:在函数体,一个被声明为静态的变量(也就是局部静态变量)在这一函数被调用过程中维持其值不变。这个时候作用和全局变量是同的。
C语言集锦 | 01 - C基础语法(数据类型、输入输出、运算符、流程控制、函数、数组、static关键字),一、数据类型数据类型关键字:数据类型占用字节范围char1-128-127unsignedchar10-255short2unsignedshort2int4unsignedint4long4unsignedlong4longlong(C99加入)8unsigne
printf("QQ:%s\nname:%s\nage:intsize;所以a[10]=number;1[2]=tmp1[3]=*(have i);
static char strBuff[16]; // static局部变量, 用于返回地址有效 const unsigned char *pChIP = (const unsigned char *)&IpAddr; sprintf(strBuff, "%u.%u.%u.%u ", pChIP[0], pChIP[1], pChIP[2], pChIP[3]); return strBuff; } 注意事项: ...
include<stdio.h>void main(){ static unsigned char d=0,a,k,s; while(1) { for(int i=0;i<8;i++) { a=4; k=3; s=6; d++; } printf("d=%d\n",d); getchar(); //运行一下就知道了,第一次循环之后d=8 }} ...
两者都是C语言中的关键字,static是静态的意思,可以用来修饰局部变量,修饰全局变量,修饰函数,extern是用来声明外部符号的。 2.作用域和生命周期 2.1作用域: 作用域是程序设计理念,通常来说,一段程序代码中所用到的名字并不总是有效的,而限定这个名字的可用性的代码范围就是这个名字的作用域。