前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言一维数组二维数组、字符数组【C语言学习笔记】

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

作者头像
岳泽以
发布2022-10-26 16:04:58
1.4K0
发布2022-10-26 16:04:58
举报
文章被收录于专栏:岳泽以博客

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

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

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

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

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

例如:int a[10];

  1. 定义了一个整型数组,数组中每一个元素都是整数类型。
  2. a是数组名称,表示数组首元素的内存地址,a是常量。
  3. 10表示数组中有10个元素,数组的第一个元素下标是从0开始。
  4. 会在内存中开辟连续的10个空间存放整型数值。
代码语言:javascript
复制
#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
复制
#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 删除。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.数组:一组有序数据的集合。
  • 2.定义一维数组(int a;)
  • 一维数组的初始化
  • 二维数组的定义:
  • 二维数组的初始化:
  • 字符数组
    • 字符串的输入方式:
      • 字符串常用函数:
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档