简单数组(static + 数组)

本文介绍了`static`关键字在修饰变量和函数时的作用,详细解析了数组的定义、使用方式,包括直接定义、动态赋值,以及数组在内存中的表示。强调了数组名的含义,它不仅是数组首元素的地址,也是数据结构的代表。

简单数组(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.数组名的含义

  • 数组名的内涵在于其指代实体是一种数据结构,这种数据结构就是数组;数组名的外延在于其可以转换为指向其指代实体的指针,而且是一个指针常量;指向数组的指针则是另外一种变量类型,仅仅意味着数组的存放地址!

=====================================

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值