C语言--数组与字符串

数组与字符串

-----------ASP.Net+Unity开发、.Net培训、期待与您交流!-------------


一、数组

1. 什么是数组

   数组,就是一组数据的意思,数组的作用就是用来存储一组数据的;

   形式为:int num[5] 存放5个整形数;

2. 数组的特点

   只能用来存放一种类型的数据,不能重复;

   其中每个数称之为元素,都有其对应的下标;

二、数组的定义

1. 格式

   元素类型 数组名[元素个数];   比如int a[5] = {1,2,3,4,5,};

2. 初始化

  int a[3] = {1,2,3,};

  int a[5]  = {3,4}; 表示a[0] = 3,a[1] = 4,其他值为0;

  int a[] = {1, 3, 5};  表示里面有3个数;

  int a[5] = {[0]=5,[2] = 6};  表示对某个值进行赋值,即a[0] = 5,a[2] = 6,其它为0;

3. 错误类型

       int a[];  没写元素个数;

    int[5]a;

    a[5] = {1,2,3,4,5};

    a = {3,6};

4. 内存分析

  数组的大小为:数组的元素个数  *   数组的类型;  (求出来是字节数);
  

  存储空间的划分(内存的分配是从高地址到低地址进行的,但一个数组内部元素又是从低到高进行的;

  数组名 ,相当与数组的地址,它不占用内存空间,它也不会发生改变;

5.数组作为函数

  数组作为函数参数,类似于指针,它是将数组的地址传给函数;

  数组元素作为函数参数传递,将是值传递,并不会发生改变;

6、数组的遍历

    int num[5] = {1,2,3,4,5};

    int lenth = sizeof(num); / sizeof(int);  计算数组的长度; 

    for (int i = 0;i < lenth;i++)  循环输出;
    printf("a[%d] = %d",i,num);

三、 二维数组

1. 什么是二维数组   

   我想表示多组数据的内容就要用到二维数组;

2. 存储

    二维数组也是自上而下将元素存储  
   例如:int a[2][3];
            a[0][0]
      a[0]  a[0][1]
   a        a[0]a[2]    

      a[1]  a[1]a[0]

            a[1]a[1]

            a[1]a[2]

    大概以上图的方式存储;

3.初始化

   int a[3][4] = {1,2,3,4,5,6};

   int a[3][4] = {{1,2},{2,3,4,5},{}};

   int a[][5] = {3,2,1,4,9,8};

4. 遍历数组 

  for循环嵌套,外控制数组个数,内控制数组的个数; 

四、 字符串

1. 什么是字符串 

   多个字符组合在一起,用“”扩起来的叫做字符串;

2. 字符串的初始化

  char a[] = "sl";
  char a[] = {'s','l'};
  第一个后面有'\0'这个字符;

3.字符串的接收与输出

    int num;  scanf("%s",num);

     printf("%s",num);
     %s这是字符串的标志,它遇到空格就停止;

4.字符串处理函数

     strlen :计算字符串的长度;

5.字符串的打印

     char a[] = "dfkj";

     for(int i = 0;a[i]!='\0';i++)printf("a[%d]=%c",i,a[i]);

五、 字符串数组

  1.使用场合

  一维字符数组中存放一个字符串,如果要存储多个字符串,比如一个班所有学生的名字,

  就要用到二维字符数组;

  char studentName[50][20];  表示存放50人的姓名;

  2.初始化

   char names1[2][10] = {'s','l','\0'}, {'x','m','\0' }; 

   char names2[2][10] = { {"sl"}, {"xm"} };  

   char names3[2][10] = { "sl""xm" };

六.小结

   数组字符串,说到底就是一些相同类型数据的集合,为了不必一个一个定义,我们应用数组字符串更为方便。
  它们的初始化最好定义完初始化,当定义后,将不能在集体赋值,只能单个元素赋值;
  当要用到多个集合时,我们将用二维数组和字符串数组;


----------ASP.Net+Unity开发、.Net培训、期待与您交流!-------------





  



















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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值