#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");
}
简单数组
最新推荐文章于 2023-03-28 14:44:25 发布