简单数组

#include<stdio.h>
#include<stdlib.h>
#define N 20

void main1()
{
	int num[5] = { 1, 2, 3, 4, 5 };		//数组在内存中连续排列

	printf("%d\n", sizeof(num));	//求数组所占内存大小(字节)
	printf("%d\n", sizeof(num) / sizeof(int));		//求数组有多少个元素

	//声明一个数组时,编译器为数组分配内存存储空间,值得注意的是,数组占据的内存空间是连续的,
	//这样,很容易计算数组占据的内存大小和每个元素对应的内存首地址
	//举例来说,对一个大小为N,类型为short的数组,其占据的内存大小为:
	//N * sizeof(int) = N * 4
	//如果说第1个元素在内存中的地址为p,那么第M个元素(M不大于N)在内存中的地址可表示为:
	//p + (M-1)*sizeof(int)
	//体现了数组元素的有序性

	int number[10];
	printf("%x\n", number);

	for (int i = 0; i < 16; i++)	//数组不要越界,数组外部的内存空间不确定是否有权限访问,可能会导致程序崩溃
	{

		number[i] = i + 1;
	}

	system("pause");
}

void main2()
{
	int num[N];		//N可以用于声明数组,因为N只是替换20
	
	const int number = 10;
	//int n[number];	//number虽然是常量(const限制不能修改),
						//但是可变(可以在内存中根据地址找到实体直接修改)
	printf("%x\n", &number);
//设断点
	printf("%d\n", number);

	system("pause");
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值