数组的定义与初始化

数组的定义及初始化

一、数组的定义

要想把数据放入内存,必须先要分配内存空间。放入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); 
    }
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值