sizeof for 数组
理想的你,想用 sizeof
求数组的元素个数
实际的你,应该使用下方的方法,来求数组的元素个数:
int c1=sizeof(a1)/sizeof(char);//总长度/单个元素的长度 char型
int c2=sizeof(a2)/sizeof(a2[0]);//总长度/第一个元素的长度 int型
总结: 对于数组,sizeof返回的是 : 这个数组占用的总的数据长度,而不是其包含的元素个数
static 关键字
三个字: “隐蔽性”
上代码
#include <stdio.h>
int fun(void)
{
static int count = 10; // 此语句只在函数第一次调用时执行,后续函数调用此变量的初始值为上次调用后的值,每次调用后存储空间不释放
return count--;// 这个count 对下面的count不冲突,main 函数不可见我
}
int count = 1;
int main(void)
{
printf("global\t\tlocal static\n");
for(count = 0; count <= 11; ++count)
printf("%d\t\t%d\n", count, fun());
return 0;
}
extern
用作定义
extern int a =0 ;//定义一个全局变量a 并给初值
// 上述这种方式,和以下相同
int a = 0; // 都是定义一个全局的变量,然后有分配空间,然后在这个空间注入高低电平
用作声明
extern int a;//声明一个全局变量a
//声明之后你不能直接使用这个变量,需要定义之后才能使用。