首页 > 其他分享 >day 7二维整型数组、字符型数组

day 7二维整型数组、字符型数组

时间:2024-07-19 22:02:11浏览次数:7  
标签:初始化 数组 int 元素 整型 str 字符串 day

二维整形数组


1、二维整形数组的定义:
        数据类型 数组名[第一维数组的元素个数][第二维数组的元素个数];

        数据类型 数组名[行数][列数];

        例如:int a[2][3];

2、数组元素的访问:
        数组名[行下标][列下表];

        例如:a[0][0]

3、初始化:
        1.全部初始化
例如: int a[2][3] = {1, 2, 3, 4, 5, 6};
            int a[2][3] = {{1, 2, 3}, {4, 5, 6}};
        2.局部初始化
例如: int a[2][3] = {1, 2, 3, 4};
            int a[2][3] = {{1, 2}, {3}};
            int a[2][3] = {0};
            int a[2][3] = {{0}};
        3.默认初始化
            行能省略,列不能省略
 例如:int a[][3] = {1, 2, 3, 4};
            int a[][3] = {{1, 2}, {3}};

要注意的是:初始化 != 赋值 

4、二维数组的存储:

        数组所占空间大小 = 每个元素所占字节大小 * 行数 * 列数

二维数组存储的特性:

        1.连续性:数组的存储空间是连续的
        2.有序性:数组存放数据顺序有序   将二维数组逐行从左到右存储

多维数组

二维数组是由一维数组构成的一维数组,N维数组:是由N-1维数组构成的一维数组

5、二维数组的输入和输出

        1.输入:可以利用双层for循环scanf("%d")

        2.输出:可以利用双层for循环printf("%d")

字符型数组
   

在C语言中没有字符串类型,只能通过字符型数组存放字符串

1、数组的定义:
        数据类型 数组名[元素个数];

        char str[32];

需要注意:
            1.字符型数组在存放字符串时,必须能够存放下末尾的\0字符
            2.元素个数必须为常量

2、数组元素的访问:
        数组名[下标];

3、数组元素的初始化 
        1.全部初始化:
例如: char str[6] = {'h', 'e', 'l', 'l', 'o', '\0'};  
        
        2.局部初始化:
例如: char str[6] = {'h', 'e', 'l'};
            需要注意:
                没有给定初值的元素被赋值为0('\0') ,而不是'0'

        3.默认初始化:
例如: char str[] = {'h', 'e', 'l', 'l', 'o'};

            需要注意:
                初始化 != 赋值
            
4、数组的存储:

        数组所占空间大小 = 元素个数 

数组存储的特性:

        1.连续性:数组存放空间连续
        2.有序性:按照顺序依次存放

5、字符串的输入和输出:
输入 printf("%s\n", str);
        puts(str);

        按照字符串打印:从字符串开头到第一个\0中间的内容打印

输出 scanf("%s", str);

        gets(str);
        两个的区别为:scanf无法接收带' '的字符串而gets可以接收带' '的字符串

6、字符串常见操作:
        1.字符串的赋值(字符串的拷贝):
            strcpy:字符串拷贝函数 
            用法:
                strcpy(str, "hello world");
                strcpy(str, src);
            需要注意:
                目的空间必须能够存放下拷贝的字符串,否则会内存越界

        2.字符串的拼接:
            strcat:字符串拼接函数
            用法:
                strcat(str, "world");
                strcat(str1, str2);
           需要注意:
                原字符串数组必须能够存放拼接后的字符串

        3.字符串的比较:
            strcmp 
            字符串比较函数
            用法:
                strcmp(str1, str2);   
                如果结果 > 0则  str1 > str2 
                如果结果 < 0则  str1 < str2
                如果结果 == 0则  str1 == str2

            需要注意:
                1.区分大小写
                2.两个字符串到右依次比较,不相同的ASCII码值谁大,字符串谁就大

        4.字符串的长度:
            strlen 
            获得字符串的长度(从字符串开头到’\0‘之前元素的个数)
            用法:
                int len;
                len = strlen(str);

标签:初始化,数组,int,元素,整型,str,字符串,day
From: https://blog.csdn.net/2301_79909332/article/details/140530052

相关文章

  • day 8字符型二维数组、函数
    字符型二维数组作用:在C语言中字符型二维数组主要用来存放字符串数组1、定义:    数据类型数组名[第一维元素个数][第二维元素个数];例如:charstr[5][32];  2.元素访问:例如:str[0][0];或者  str[0]    3、数组存储的特性:    连续性:数......
  • 【数据结构】学习day 1.1线性表中的顺序表
    1 "&"区别(c++)#include<stdio.h>voidtest(intx){   x=2024;   printf("intestx=%d\n",x);}intmain(){   intx=1;   printf("beforetestx=%d\n",x);   test(x);   printf("aftertestx=%d\n"......
  • python_day7
    数据类型​ 之前数字/字符串类型 之后字典\布尔类型列表类型使用列表的几个函数先建一个列表如name_list=['linda','david','louis','kevin','linda]取值时,直接print(name_list[0])或者选取其他的数字替换0,也可以倒数取-1,-2...,还能[0:2],[-3:]这样进行选取几个......
  • 树状数组
    什么是树状数组顾名思义就是一个结构为树形结构的数组,于二叉树的结构类似但又不同,它是在二叉树的结构上删除了一些中间节点,来看两幅图就明白了.1.这是二叉树的结构 2.这是树状数组的结构 不难发现,树状数组相比于二叉树删除了一些节点,但是为什么要删除呢?这就和树状数组的......
  • java数组之数组工具类——Arrays的使用
    一、Arrays工具类简述    在java的类库中有许多现成的已经封装好的方法,可以供开发人员使用,比如我们之前学的二分法查找或者快速排序等。所以在实际的开发中,我们是不用自己编写这些常用的方法的。那么在常用的数组方法在哪里的?java作为面向对象的语言,所有方法都会封装......
  • C语言_数组(1)
    一、一维数组1、数组的创建方式:数组是有限个相同类型数据元素的集合。type_t arr_name [const_n];//type_t是指数组的元素类型//const_n是一个常量表达式,用来指定数组的大小创建例子:注意:数组在创建时,[]里的必须是常量。但是如果编译器支持C99标准的话可以使用......
  • JAVA小白学习日记Day6
    1.List集合:把具有相同属性的东西放在一起,也可以是容器,把有关的东西都放进去。List:List是位于java.util下的一个接口,有序集合(也称为序列)。此界面的用户可以精确控制每个元素在列表中的插入位置。用户可以通过整数索引(列表中的位置)访问元素,并在列表中搜索元素。之前学过的容器......
  • 合并排序数组
    合并排序数组(蓝桥杯题库)题目描述给定排序数组A和B,实现一个算法将B按排序顺序合并到A中。介绍如下:数组A和B的均为排序数组,数字按从小到大排列。数组A的的长度为 ......
  • Day 17 二叉树part05
    654.最大二叉树这道题和昨天的根据中序后序遍历构造二叉树比较相似。借鉴那个思路去做就差不多。classSolution{publicTreeNodeconstructMaximumBinaryTree(int[]nums){returnconstruct(nums,0,nums.length);}publicTreeNodeconstruct(int......
  • 34.拷贝数组
    定义一个方法:copyOfRange(int[]arr,intx,inty)将数组arr中从索引x开始(包含x)到索引y结束(不包含y)中的元素,复制到新数组中,并将新数组返回例:原始数组arr={1,2,3,4,5,6,7,8,9},新数组newArr={4,5,6,7}publicstaticvoidmain(String[]args){//1.静态初始化定......