C语言的数组学习入门之对数组初始化的操作

2020-01-06 14:10:15于丽
易采站长站为您分析C语言的数组学习入门之数组初始化的操作,是C语言入门学习中的基础知识,需要的朋友可以参考下  

数组在所有的语言中,以C最为简单,就是一起始地址,外加一数组的长度,而且基本上没有任何功能可言。然而,在所有的数组使用中,却是C的这种简单的数组形式,以其灵活性和效率,让人惊叹。

C数组从逻辑上讲,是分形一致的(想不到其他词来形容了),分形的意思,就是部分与整体保持一致的构造形式,也即是数组的任何一部分也都是数组,比如一整型数组{1,2,3,4,5},连续取出其中任一连续的部分,都可以看成是一个数组,{2,3}是数组,{1,2,3}是数组,{4,5}也都是数组,差别只在于数组的起始地址和元素的个数。那怕是数组中的任何一个元素,都可以看成是一个长度为1的数组。因此,C数组的这种统一的格式,在作为参数,传递给函数的时候,特别是递归函数中,很是方便。

一些基础知识

先来看看一些基础的东西。

数组可以用一个列值来初始化,例如:


int arr[] = {1,2,3,4};
char arr[] = {'a','b','c',0};

简单的一个整数数组初始化例子:


#include "stdio.h"

int main()
{
  /*
  author: www.nowamagic.net
  */
  int i, length;
  int arr[] = {1,2,3,4};

  length = sizeof(arr) / sizeof(int);
  printf("sizeof(arr)为:%dn", sizeof(arr));
  printf("sizeof(int)为:%dn", sizeof(int));
  printf("数组长度为:%dn", length);
  for(i = 0; i < length; i++)
  {
    printf("%dn", arr[i]);
  }

  return 0;
}

程序运行结果:


sizeof(arr)为:16
sizeof(int)为:4
数组长度为:4
1
2
3
4

简单的一个char数组初始化例子:


#include "stdio.h"

int main()
{
  /*
  author: www.nowamagic.net
  */
  int i, length;
  char arr[] = {'a','b','c',0};

  length = sizeof(arr) / sizeof(char);
  printf("sizeof(arr)为:%dn", sizeof(arr));
  printf("sizeof(char)为:%dn", sizeof(char));
  printf("数组长度为:%dn", length);
  for(i = 0; i < length; i++)
  {
    printf("%cn", arr[i]);
  }

  return 0;
}

程序运行结果:


sizeof(arr)为:4
sizeof(char)为:1
数组长度为:4
a
b
c