C语言中的数组与函数

C语言中的数组与函数

  1. 数组
  • 数组名称与类型:
int arr[10];

其中arr为数组名,int [10]为数组类型。

  1. 二维数组
//	    行 列
int arr[2][3];//表示二行三列
  • 二维数组的初始化:

不完全初始化:

int arr[2][3]={1,2,3,4};

初始化结果: 1 2 3
4 0 0

完全初始化:

int arr[2][3]={{1,2},{3,4},{5,6}}//可以一行一行的初始化(把一行当作一个一维数组)

注:初始化可以省略行,但是不可以省略列。

数组在内存中的储存:

int arr[][2]={1,2,1,2,1,2};//数字1,2代表列

第一行 第二行 第三行 …
1 2 1 2 1 2 …
因为省略行计算机可以按顺序接着往下排列,但省略列计算机无法得知第二列排在哪里。

  1. 函数
int Add(int a,int b)//函数的形参
{
	return a+b;
}
int main()
{
    int a = 0,b = 0;
    int m = Add(a,b);//函数的实参
    return 0;
}
  1. static与extern
  • static

static修饰局部变量:

void Fun()
{
	static int i = 0;
	i++;
	printf("%d ", i);
}
int main()
{
	for (int j = 0; j < 10; j++) {
		Fun();
	}
	return 0;
}

执行结果:

有static:1 2 3 4 5 6 7 8 9 10

无static:1 1 1 1 1 1 1 1 1 1

注:如果重复调用Fun( )函数,每次调用时的i不会被重新创建与销毁,而是使用上次的值然后在执行以下的操作。

  • extern与static在多文件下的作用:

extern是用来声明外部符号(多文件情况下),如果在 gameA.c 文件中定义变量 int a = 0;如果想要在 gameB.c 文件中使用该变量,则需要使用 extern int a;来使用变量 a。

如果在如果在 gameA.c 文件中定义变量static int a = 0;则 a 变量只能在 gameA.c 文件下使用。使用static修饰函数也是如此。

  1. 函数的递归

在写函数递归时,优先考虑结束递归的条件。

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值