1、关键字static作用:

当关键词static修饰局部变量时,局部变量的生命周期延长;

strlen

\0包含在数组大小中,不计入字符串长度中








int SUM(a)
{
static int b=1;
int c=0;
return{a+b+c}
}
int main()
{
int i =0
int a = 1;
while(i<5)
{
int x = SUM(a);
i++;
}
printf("%d\n",a);
}

当关键词static修饰全局变量时,全局变量的作用域缩小;

修饰函数时,函数的作用域也缩小;

2、指针:

浅显地了解到了指针的相关概念:

一般电脑在硬件上有32条或者64条地址线,当通电时显示01两种信号,通过显示的数字信号我们可以将内存划分为2^32个内存块,一个内存块占用一个字节,在2^32个内存块依次编号。每种数据类型申请不同数量的地址块,例如int4个字节,就申请到32位电脑的4个地址块,

int a = 10;//4个地址块来存放a的内容10
int* p =&a;//用p来存放a的地址(占用4个字节)
*p = 20;//解引用操作符、间接访问操作符(通过存放的地址来找到a;用来访问a中内容,并赋值)

3、结构体(struct)

结构体是我们自己创造出来的类型。当要使用结构体时,我们需要定义结构体类型

//定义结构体类型
struct car
{
char name[10];
char mode[10];
short price;
short seatAmount;
}
int main()
{
struct car c1={"保时捷911","手动挡",80,2};
printf("车型:%s\n",c1.name);
printf("模式:%s\n",c1.mode);
printf("价格:%d元\n",c1.price);
return 0;
}

结构体与指针结合运用以及操作符(.  和 ->)的使用

struct car* pc =&c1;
//第一种(以结构体变量+ .操作符)
printf("车型:%s\n",(*pc).name);
printf("模式:%s\n",(*pc).mode);
printf("价格:%d元\n",(*pc).price);
//第二种(以结构体指针+ ->操作符)
printf("车型:%s\n",pc->name);
...