数组的定义与初始化
数组的定义及初始化
⼀、数组的定义
要想把数据放⼊内存,必须先要分配内存空间。放⼊4个整数,就得分配4个int类型的内存空间:
int a[4];
就在内存中分配了4个int类型的内存空间,共 4×4=16 个字节,并为它们起了⼀个名字,叫a。
⼆、数组的初始化
数组初始化的四种⽅式
1. 直接给每个元素赋值 int array[4] = {1,2,3,4};
2. 给⼀部分赋值,后⾯的全部为0 int array[4] = {1,2};
3. 由赋值参数个数决定数组的个数 int array[] = {1,2};
4. 数组元素的值是随机分配的 int array[4] = {}; 当初始化参数时,推荐使⽤ int array[4] = {0};
5. 利⽤ memset 函数初始化 memset 函数声明为:void *memset(void *str, int c, size_t n)
将 str 中当前位置后⾯的 n 个字节 (typedef unsigned int size_t )⽤ c 替换并返回 str 。 int arr3[3]; memset(arr3, 0, sizeof(int) * 3);
定义数组初始化memset ⼀般使⽤“0”初始化内存单元,通常是给数组或结构体进⾏初始化,或清空数组或结构体。
⼀般如 char、int、float、double 等类型的变量直接初始化即可,如果⽤ memset 的话反⽽显得⿇烦。
6、for 循环初始化
int a[3];
for(int i =0; i <3; i++)
{
a[i]= i;
}
使⽤ for 循环的好处是:可以将每个元素设为不同的值。
三、数组的打印
1、按序号for循环打印
#include <stdio.h>
void main()
{
int i;
int a[10]={1,2,3,4,5,6,7,8,9,10};
for(i =0;i <10; i++)
{
printf("%d ",a[i]);
}
}
2、通过数组地址打印数组的值
#include <stdio.h>
void main()
{
int i;
int a[10]={1,2,3,4,5,6,7,8,9,10};
int *p;
p = a;
for( i =0; i <10; i++)
{
printf("%d ",*(p+i));
}
}
3、指针指向数组
void main()
{
int i;
int a[10]={1,2,3,4,5,6,7,8,9,10}; int *p;
for( p = a; p <(a+10);p++)
{
printf("%d ",*p);
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论