数组(1)—(一维数组)

数组(1)—(一维数组)

1.数组的创建(数组是一类相同元素的集合)

注意:数组创建时[]中药给一个常量才可以,不能使用变量。

2.数组的初始化

数组的初始化是指,在创建数组的同时要给数组的内容一些合理初始值(初始化)。数组在创建的时候如果不指定数组的确定的大小就得初始化。数组中元素个数根据初始化的内容来确定,但是对于下面的代码药区分,内存中如何分配。

char arr[] = "abc";//带'/0'
char arr[3] = "abc";//不带'/0'

用“  ”引起来的字符串不用数组保存时一般都被编进字符常量区。该字符串不可被修改。

3.一维数组的使用

#include<stdio.h>
#include<windows.h>
int main()
{
	int arr[] = { 0, 1, 2, 3, 4, 5, };
	int sz = sizeof(arr) / sizeof(arr[0]);//计算数组的元素个数
	printf("%d\n", sz);
	system("pause");
	return 0;
}

为什么是0下标?

因为数组至少有一个有效元素,所以下标0永远存在。

4.一维数组在内存中的存储(线性连续且递增)

#include<stdio.h>
#include<windows.h>
int main()
{
	//1.在哪个区域开辟空间
	//2.在该区域内,整体空间布局是怎么样的
	char arr[5] = { 0 };
	int sz = sizeof(arr) / sizeof(arr[0]);
	int i = 0;
	for (; i < sz; i++) {
		printf("&arr[%d]=%p\n", i, &arr[i]);
	}

	system("pause");
	return 0;
}

数组在栈上整体开辟空

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值