浅谈对c语言中对一维数组的认识

今天复习c语言中数组的基本知识。简单的总结一下

所谓数组,就是相同数据类型的元素按一定顺序排列的 集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为 下标。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。
     
在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、 字符数组、 指针数组、结构数组等各种类别。
 
特点:数组的地址是一段连续的空间并且数组类型都相同
 
定义:数据类型 数组名[元素个数]
 

#include <stdio.h>
#define N 5
//不允许如下定义数组,虽然
void fun(int n)
{
 int arr[n];
 int i=0;
 for(i;i<n;i++)
 {
  printf("%d\n",arr[i]);
 }
}
int main(int argc, char const *argv[])
{
 //注意:数组元素个数:只能是字面常量值 宏变量 只读变量,不能是一般变量
 int a[5]={0};  //所有数组元素都为零
 int b[N];
 const int n=7;
 int c[n];
 
 //不支持如下定义数组,虽然编译器不会报错
 int num=6;
 int d[num];

 //fun(3);编译器会报错

 //数组名与数组元素之间的关系
 //利用下标值获取数组的每个元素值
 //a[i]; //i数组下标。从0,1,2....

 int e[5];

 /*1.数组名表示数组的第一个元素地址*/
 printf("%X\n",e);//BFB930E4
 printf("%X\n",&e[0]);//BFB930E4 

 printf("%X\n",&e);//表示数组一段空间

 printf("%X\n",e+1); //输出数组的第二个元素地址 BFD14A68
 printf("%X\n",&e[1]); //输出数组的第二个元素地址 BFD14A68

 printf("%X\n",&e+1); //跨过整个数组的空间
   
    //访问每个数组元素的起始地址
    int i=0;
    for(i=0;i<5;i++)
    {
     printf("%X\n",e+i);
    }

    //输出每个数组元素
    for(i=0;i<5;i++)
    {
       printf("%d\n",e[i]);
    }

    /*
    注意 数组名相当与一个只读指针变量 虽然是指针,但在计算 sizeof(数组名) 时不能当成指针
    数组名不能修改
    */
    int ar1[4];
    int ar2[5];
    //ar1=ar2;这种写法错误
    //ar1++;也错误

    //数组的初始化
    int f[]={1,2,3}; //根据初始化的值确定数组元素个数
    for(i=0;i<5;i++)
    {
     scanf("%d",&e[i]);
    }

  //输出数组元素
    for(i=0;i<5;i++)
    {
     printf("%d\n",e[i]);
    }
 return 0;
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值