C语言学习——数组与字符串

今天在敲C语言代码的时候还总是用java的习惯去敲~~


普通数组

一维数组

初始化

可以不初始化

int i[5];

可以初始化:

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

可以部分初始化:

int i[5]={1,2};

全部为零:

int i[5]={0};

不写[]中的下标总数:

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

注:下标依旧从零开始


冒泡排序

可以更好的理解使用数组

char cs[5]={4,1,3,2,5};
    int i=0;
    int t;
    for(;i<5;i++){
        int j=i;
        for(;j<5;j++){
            if(cs[i]>cs[j]){
                t=cs[i];
                cs[i]=cs[j];
                cs[j]=t;

            }
        }
    }

规律(尽量自己去总结)
看第二次循环不再使用哪个变量cs[i]或者cs[j],然后根据大小,算出第一个cs[0]是最大或最小。例如上述代码:i=0循环一次后不再使用,所以第一个固定的是cs[0],根据cs[i]>cs[j]即交换数据,然后cs[0]会留下一个最小的。以此类推。


二维数组

一维数组的升级版。二维数组的使用频率非常少,所以理解即可。

能把一维数组char cs[]={4,10,30,2,5,23,41,32,12,2,21,12,41,32,12}转换成二维数组
char css[3][5]={ {4,10,30},{2,5,23},{41,32,12},{2,21,12},{41,32,12}}的示例能理解的话,应该就差不多了

示例代码

char cs[]={4,10,30,2,5,23,41,32,12,2,21,12,41,32,12};
    char css[3][5];
    int i=0;
    int j=0;
    int x=0;
    while(i<15){
        css[x][j]=cs[i];
        if(j==5){
           x++;
           j=0;
        }
       i++;
       j++;
    }

字符数组(也可以当做字符串)

特殊的初始化方式:

当然普通的数组初始化方式也可以用

char str[6]=”hello”;//必须要比字符串多一个位置,来放结束符 \0
char str[]=”hello”;//这个方法最简单

输出字符串

printf(“%s”,str);//输出使用特别的占位符

结束符的使用

char str[6]=”hello”;
str[2]=0;
//遇到0就结束,所以只输出he

转义字符的含义

这里写图片描述


直接输出数组名,则输出的是数组第一元素的地址

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值