举一个例子:
#include<stdio.h>
void Test() { static int i=0; int j=0;
for(int k=1;k<=10;++k) { i+=k; j+=k; } printf("i=%d ",i); printf("j=%d ",j); }
int main() { Test(); Test(); }
注意,i是静态变量。
因为静态变量一旦定义,在它的作用域(就是从定义的一刻开始到最后一个}为止)中永远都有效,而且能够存储“记忆”上一次的数值,直到整个程序运行完毕。
因此,第一次执行Test的时候,i和j一样。
但是第二次的时候,因为i可以记忆上一次的内容(所以和上一次的数值继续相加)。
但是j是自动变量(用完之后随即释放)。
所以结果不同:
函数指针:
#include<stdio.h>
int add(int n1,int n2) { return n1+n2; }
int minus(int n1,int n2) { return n1-n2; }
int main()
{
int (*p)(int n1,int n2); //指针函数,用于指向一个函数,只要这个函数包括同参数、相同类型返回值即可。
p=add;
printf("%d
",p(1,2)); //add函数返回值int,需要两个int参数
p=minus;
printf("%d",p(1,2)); //minus函数返回值int,需要两个int参数
}
virmach怎么样?virmach家这几年非常火,从商家的黑五闪购开始,以超低的价格吸引了大批的国人客户,而且商家的机器还是非常稳定的,站长手里的4.75刀年付已经用了两年了,非常稳定,不过商家到国内的线路一般,目前商家新上了夏季优惠促销,价格低到发指,年付7.2美元起,商家反馈将在9月开始更换AMD+NVMe平台,这个消息从年初就有了,不过一直没有更换,目前这个时间也不确定是否准确。点击进入:...
搬瓦工最近上线了一个新的荷兰机房,荷兰 EUNL_9 机房,这个 9 的编号感觉也挺随性的,之前的荷兰机房编号是 EUNL_3。这次荷兰新机房 EUNL_9 采用联通 AS9929 高端路线,三网都接入了 AS9929,对于联通用户来说是个好消息,又多了一个选择。对于其他用户可能还是 CN2 GIA 机房更合适一些。其实对于联通用户,这个荷兰机房也是比较远的,相比之下日本软银 JPOS_1 机房可...
在上个月的时候也有记录到 NameCheap 域名注册商有发布域名转入促销活动的,那时候我也有帮助自己和公司的客户通过域名转入到NC服务商这样可以实现省钱续费的目的。上个月续费转入的时候是选择9月和10月份到期的域名,这不还有几个域名年底到期的,正好看到NameCheap商家再次发布转入优惠,所以打算把剩下的还有几个看看一并转入进来。活动截止到9月20日,如果我们需要转入域名的话可以准备起来。 N...