简单数组(static + 数组)
=================目录=====================
=====================================
一、static
1.static修饰变量
a. 函数中局部变量:
声明周期延长:该变量不随函数结束而结束
初始化:只在第一次调用该函数时进行初始化
记忆性:后序调用时,该变量使用前一次函数调用完成之后保存的值
存储位置:不会存储在栈上,放在数据段
//其中,c因为每次循环始终为1,而b因为static的缘故,只在一开始初始化一次,将后续的值继续代入.
#include <stdio.h>
int sum(int a)
{
int c = 0;
static int b = 3;
c += 1;
b += 2;
return (a + b + c);
}
int main()
{
int i;
int a = 2;
for (i = 0; i < 5; i++)
{
printf("%d,", sum(a));
}
}
b. 全局变量
让该变量只能在当前文件中使用
c. 修饰变量时,没有被初始化时会被自动初始化为0
2. static修饰函数
让该函数只能在当前文件中使用
二、数组
1.数组的定义 :int arr[],[]中只能加数字
①直接定义
int array[]={1,2,3}
②定义后再给数组各元素赋值;
int array[3];
for(int i=0;i<3;i++)
array[i]=i;
2.数组的使用:
(1)在调用数组时,可以给arr[]的[]中加变量
(2)一般情况下,arr指的是arr[]数组中的首元素地址
但如果遇到
strlen(arr) 这里arr指的是整个数组
sizeof(arr)
&(arr)
3.数组名的含义
- 数组名的内涵在于其指代实体是一种数据结构,这种数据结构就是数组;数组名的外延在于其可以转换为指向其指代实体的指针,而且是一个指针常量;指向数组的指针则是另外一种变量类型,仅仅意味着数组的存放地址!
本文介绍了`static`关键字在修饰变量和函数时的作用,详细解析了数组的定义、使用方式,包括直接定义、动态赋值,以及数组在内存中的表示。强调了数组名的含义,它不仅是数组首元素的地址,也是数据结构的代表。
4373

被折叠的 条评论
为什么被折叠?



