Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >C语言一维数组二维数组、字符数组【C语言学习笔记】

C语言一维数组二维数组、字符数组【C语言学习笔记】

作者头像
岳泽以
发布于 2022-10-26 08:04:58
发布于 2022-10-26 08:04:58
1.6K00
代码可运行
举报
文章被收录于专栏:岳泽以博客岳泽以博客
运行总次数:0
代码可运行

一维数组,二维数组,字符数组,字符串常用函数。

1.数组:一组有序数据的集合。

同一数组中每个元素的数据类型(int long short double float char...)必须相同。

2.定义一维数组(int a;)

一般形式:数据类型 数组的名称[常量表达式]

例如:int a[10];

  1. 定义了一个整型数组,数组中每一个元素都是整数类型。
  2. a是数组名称,表示数组首元素的内存地址,a是常量。
  3. 10表示数组中有10个元素,数组的第一个元素下标是从0开始。
  4. 会在内存中开辟连续的10个空间存放整型数值。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include<stdio.h>
int main(){
    int a[10];
    int b;
    printf("%d\n",sizeof(b));
    printf("%d\n",sizeof(a));
    printf("%d\n",a);
    printf("%d\n",&a[0]);
    printf("%d\n",&a[1]);
    printf("%d\n",a+1);
    printf("---------\n");
    for(int i=0;i<=9;i++){
        printf("%d\n",&a[i]); 
    }
    printf("---------\n");
    for(int i=0;i<=9;i++){
        printf("%d\n",a+i);
    }
    return 0;
} 

一维数组的初始化

1.对数组中每一个元素进行赋值。

int a[10]={1,2,3,4,5,6,7,8,,91};

2.对数组中的部分元素赋值,没有赋值的元素默认值为0(int long short),0.0(float double)

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

注意:如果int a[10];a[0]=1;a[1]=2;数组没有赋值的元素是不确定的值。

3.定义一个全0的数组

int a[10]={0}

4.对数组中的元素赋值,省略定义数组时的元素个数。

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

二维数组的定义:

一般形式:数据类型 数组名称常量

例如:int a[5][5]

  1. 定义了一个整型二维数组,数组中的每一个元素都是整型。
  2. a表示数组名称,表示首行元素的地址,a是常量。
  3. 数组有5行,5列,二维数组行、列的下标是从0开始的。
  4. 数组的每一个元素在内存中都是按行连续存放的。

二维数组的初始化:

1.分行给二维数组赋值

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

2.将每个元素写在一个花括号内

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

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

3.对部分元素赋值

int a[3][4]={{1},{4,3},{5}};没有赋值的元素默认为0.

4.如果对二维数组赋值,行值可以省略,列值不能省略。

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

5.定义全0数组

int a[3][4]={0};

字符数组

数组的每一个元素都是字符

字符串:

结束符:‘\0’

c语言规定用字符‘\0’作为字符串结束的标志。通过字符数组定义字符串时,系统会自动地在字符串的末尾加‘\0’

例:printf("hello world");系统会在这个字符串末尾添加‘\0’,这个字符串占13个字节。

字符串的输入方式:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include<stdio.h>
int main(){
    char str[10],str2[10],str3[10];
    scanf("%s%s%s",str1,str2,str3);
    printf("str1=%s,str2=%s,str3=%s",str1,str2,str3);
    return 0;
}

输入字符串时,要通过空格或回车来区分每个字符串。

字符串常用函数:

1.字符串输出函数:puts() s--->string

2.字符串输入函数:gets()

3.字符串连接函数strcat(字符串1,字符串2)

功能:将字符串2拼接到字符串1的后面。

4.字符串的复制函数:strcpy(字符串1.字符串2)

功能:将字符串2复制到字符1重

5.计算字符串的实际长度(int):strlen()

例:printf("str1=%d\n",strlen(str1));

6.将字符串转化为全小写:strlwe()lowercase

7.将字符串转化为全大写:strupr()uppercase

8.字符串比较函数:strcmp(字符串1,字符串2)

功能:比较俩个字符串的大小。

返回0----字符串相等 返回1----字符串1>字符串2 返回-1----字符串1<字符串2

比较规则:

①:按照字典的顺序确定字符串的大小,越往后越大a<b;

②:小写字母>大写字母 a>A;

③:如果字符串出现不相同的字符,以第一个不相同的字符进行比较。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021 年 03 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
C语言从青铜到王者——数组详解【一维数组、二维数组、字符数组】
所谓数组,是指将那些具有相同类型的、数量有限的若干个变量通过有序的方法组织起来的一种便于使用的形式。数组属于一种构造类型,其中的变量被称为数组的元素。数组元素的类型可以是基本数据类型,也可以是特殊类型和构造类型。
C语言中文社区
2022/05/31
1.3K0
C语言从青铜到王者——数组详解【一维数组、二维数组、字符数组】
C语言字符数组-学习十四
注意:这里不用单个字符作为初值。而是用一个字符串作为初值。数组c的长度不是10,而是11,因为字符串常量的最后由系统加上一个'\0'。
XG.孤梦
2022/02/28
2K0
C语言字符数组-学习十四
指针详解(二级指针、指针数组和数组指针、字符指针、二维数组传参、函数指针变量)(二)
走在努力路上的自己
2024/01/26
9250
指针详解(二级指针、指针数组和数组指针、字符指针、二维数组传参、函数指针变量)(二)
C语言从青铜到王者——数组详解【一维数组、二维数组、字符数组】
所谓数组,是指将那些具有相同类型的、数量有限的若干个变量通过有序的方法组织起来的一种便于使用的形式。数组属于一种构造类型,其中的变量被称为数组的元素。数组元素的类型可以是基本数据类型,也可以是特殊类型和构造类型。
C语言中文社区
2021/05/13
1.7K0
C语言——指针(四)
我们都知道数组中**首地址[下标]**的形式可以实现对元素的查找,其实字符串也可以用同样的形式来查找字符串中的内容。
用户11029137
2024/03/19
1230
C语言——指针(四)
开讲啦:Chap 06 利用数组处理批量数据
要使用数组,必须在程序中先定义数组,即通知计算机:由哪些数据组成数组,数组中有多少元素,属于哪个数据类型,定义数组的一般形式为:类型符 数组名[常量表达式];。
石璞东
2021/10/13
1K0
C语言进阶-高阶指针
目录 前言 字符指针 指针数组 数组指针 &数组名VS数组名 数组指针的使用 数组参数、指针参数 一维数组传参 二维数组传参 一级指针传参 二级指针传参 函数指针 函数指针数组 指向函数指针数组的指针 ---- 前言 对于初阶指针内容在我的另一篇文章中已经写到(有想法的可以去看看) 附上链接:C语言初阶指针 回顾: 1. 指针是地址,指针变量是用来存放地址的变量(唯一标识一块内存空间)  2. 指针的大小是固定的4/8个字节(32位平台/64位平台)  3. 指针的类型决定了指针的+-整数的步长,指
用户9645905
2022/11/30
4510
C语言进阶-高阶指针
【C语言期末不挂科——指针进阶篇】【上】
  指针的类型里面我们知道有一种指针 类型为 字符指针(char *),经过初阶的学习我们已经能用:
用户11029129
2024/06/04
1100
【C语言期末不挂科——指针进阶篇】【上】
【C语言进阶】深入C语言指针:基础到进阶的跨越
前言:在编程的浩瀚星空中,指针犹如一颗璀璨的星辰,它不仅照亮了C语言乃至许多其他编程语言的深邃之路,更是衡量一个程序员技能深度与广度的重要标尺。对于每一位渴望在编程领域深耕细作的开发者而言,掌握指针的进阶应用,无疑是通往高手殿堂的必经之路
Eternity._
2024/08/29
1750
【C语言进阶】深入C语言指针:基础到进阶的跨越
C语言----深入理解指针(3)
char* p = "abcdef";//这里的赋值是讲字符串中首字符的地址存在p中
Undoom
2024/09/23
1570
【C语言】指针进阶:字符指针&&数组指针&&函数指针
✨作者:@平凡的人1 ✨专栏:《C语言从0到1》 ✨一句话:凡是过往,皆为序章 ✨说明: 过去无可挽回, 未来可以改变 ---- 🌹感谢您的点赞与关注,同时欢迎各位有空来访我的🍁平凡舍 ---- 文章目录 @[toc] 🚀前言 🚀字符指针 🚀指针数组 🚀数组指针 🍁&数组名 与 数组名 🍁数组指针的使用 🚀数组传参、指针参数 🍁一维数组传参 🍁二维数组传参 🍁一级指针传参 🍁二级指针传参 🚀函数指针 🚀结语 🚀前言 回想之前,我们学了指针的一些基础👉 指针与结构体 我们知道了指针的概念
平凡的人1
2022/11/15
3.4K0
【C语言】指针进阶:字符指针&&数组指针&&函数指针
【C语言篇】C 语言总复习(中):点亮编程思维,穿越代码的浩瀚星河
在计算机科学的广袤宇宙中,C语言犹如一颗璀璨的恒星,散发着持久而耀眼的光芒。它作为一种基础且强大的编程语言,承载着无数程序员的梦想与创造力,是开启编程世界大门的关键钥匙。当我们踏上 C 语言总复习的征程时,就如同踏上了穿越代码浩瀚星河的奇妙之旅,每一个知识点都是一颗独特的星辰,等待我们去探索、去领悟,从而点亮我们的编程思维,指引我们在编程的宇宙中自由翱翔。
学无止尽5
2024/12/26
1790
【C语言篇】C 语言总复习(中):点亮编程思维,穿越代码的浩瀚星河
C语言——数组
什么是数组呢?从名字上来看,数组、数组是不是就是数据的组合呢?让我们来看看数组的概念,数组是⼀组相同类型元素的集合,我们需要注意的是数组中存放的是1个或者多个数据,但是数组元素个数不能为0。同时 数组中存放的多个数据,是相同类型的。
用户11352420
2024/11/07
7200
C语言——数组
初识C语言·指针(3)
打印出来的结果是没有异议的,只是,指针变量只能存一个元素的地址,那pc存的是谁的地址呢?
_lazy
2024/10/16
930
初识C语言·指针(3)
C语言——指针(2)
前面我们已经了解了指针的基本概念以及简单的使用,那么什么问题一定要使用指针解决呢?
用户11352420
2024/11/07
3770
C语言——指针(2)
【C语言】深入解开指针(四)
通过对前面指针的学习,你可能对指针有了一些理解,比如,数字名的理解,然后怎么使用指针来访问数组,二级指针,指针数组 …
学习起来吧
2024/02/29
1980
【C语言】深入解开指针(四)
江哥带你玩转C语言| 12 -二维数组和字符串
如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是江哥持续更新的动力。
极客江南
2021/07/11
1.5K0
C语言重点突破(2)指针(二)
在我的前一章节,我们提到指针也有类型的区分,有整型指针,浮点型指针,下面我们讲讲字符指针
对编程一片赤诚的小吴
2024/01/23
1620
C语言重点突破(2)指针(二)
C语言:深入理解指针(3)
    通过深入理解指针(1)和深入理解指针(2),我们对指针有了一个初步的了解,学会了一级指针、二级指针、指针数组……而深入理解指针(3),主要是为了学习不同数据类型的指针变量。
小陈在拼命
2024/02/17
1680
C语言:深入理解指针(3)
C语言(指针)5
用指针数组来表示二维数组是非常适合的,因为二维数组的每一行就像一个一维数组,这个一维数组也是可以通过指针来访问。
_小羊_
2024/10/16
860
C语言(指针)5
相关推荐
C语言从青铜到王者——数组详解【一维数组、二维数组、字符数组】
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档