从C出发 15 --- 数组练习

从C出发 15 --- 数组练习_第1张图片

int n[2] 定义了数组,这个数组有2个元素,每个元素是一个 int 类型的变量

从C出发 15 --- 数组练习_第2张图片

从C出发 15 --- 数组练习_第3张图片

 通过 sizeof 计算数组的大小的方法 : int len  = sizeof(a)/sizeof(*a);

从C出发 15 --- 数组练习_第4张图片

从C出发 15 --- 数组练习_第5张图片 从C出发 15 --- 数组练习_第6张图片

 从C出发 15 --- 数组练习_第7张图片

从C出发 15 --- 数组练习_第8张图片

从C出发 15 --- 数组练习_第9张图片

二维数组本质上就是一维数组,C 语言里面的数组就只有一维数组,那么二维数组就是一个数组的数组,从数学角度来看,二维数组相当于一个矩阵

从C出发 15 --- 数组练习_第10张图片

这个是一个找最值的应用,将小于号,改成大于号就是找最大值了


 从C出发 15 --- 数组练习_第11张图片

从C出发 15 --- 数组练习_第12张图片

#include 

#define LN 50
#define SN 10

int main()
{
    int light[LN] ={0};
    int student[SN] = {0};
    int i = 0;
    int j = 0;
    
    for(i=0; i< LN;i++)    linght[i]; // 1表示灯开,0表示灯关

    for(i=0; i< SN;i++)    student[i] = (i + 1) * 2; //2, 4 ,6 ,8,...

    for(i=0;i

从C出发 15 --- 数组练习_第13张图片 字符串字面量肯定是字符串常量

字符串长度就是这个字符串中包含的字符个数,字符串大小就是这个字符串占用的内存空间是多少

只需要保证 S 所对应的字符数组大小超过5,在d的后面还有还有一个元素,所以是5

字符串的赋值用 ctrcpy

既然是字符串的连接,就要保证连接的都是字符串,而这里的 r 仅仅是一个字符数组

从C出发 15 --- 数组练习_第14张图片

int main()
{
    char r[10];   //定义字符数组    // char r[10]= " "; < == > char r[10] = {0};  这个时候的 r 就变成了空字符串
    int i = 0; 
    int e =0;

    for()    
    {
        e = "abcd"[i];     //将字符串常量当成数组来使用
                          //"abcd"是一个字符串常量,其本质是字符数组
                         // 通过方括号加上下标的形式,来访问这个数组里面的元素
                        //将数组里面第 i 号元素赋值给 e 

        printf("%d ", e);  //这个for循环结束后会在屏幕打印5 个整数出来,其中最后一个整数是 0 就是字符串的结尾,就是 0 元素
    }
    
    printf("\n");

    strcat(r,"abcd");   //为了使这个正确,就要将 r[0] = 0;  ==> r 变成了字符串 ,这个字符串里面一个字符都没有,因此就是一个空字符串
    strcat(r,"abcd");

    printf("r = %s\n", r);

    return 0;
}

从C出发 15 --- 数组练习_第15张图片

 从C出发 15 --- 数组练习_第16张图片

 这里的 r 最多能表示长度为 9 的字符串,因为最后的结束 0 元素也需要占空间的


从C出发 15 --- 数组练习_第17张图片

         A : 因为在C 语言里面 但凡给定了数组大小,就不用理会初始化列标里面有多少值了,编译器会输出前面6 个字符,最后一个 0 元素就被忽略了

从C出发 15 --- 数组练习_第18张图片

B : 这里的第 5 号元素,充当 0 元素

从C出发 15 --- 数组练习_第19张图片 结论: 对一个数组来说,初始化列标里面多余的值会被忽略掉 

从C出发 15 --- 数组练习_第20张图片

 从C出发 15 --- 数组练习_第21张图片

 为什么不是 6 ,这个字符串里面出现的都是转义字符

从C出发 15 --- 数组练习_第22张图片

 在 C语言里面 \ 表示转义,会将后面出现的字符转义

从C出发 15 --- 数组练习_第23张图片

 从C出发 15 --- 数组练习_第24张图片

 从C出发 15 --- 数组练习_第25张图片

 从C出发 15 --- 数组练习_第26张图片

从C出发 15 --- 数组练习_第27张图片

 在C 语言里面字符串的结束符,就是第一次出现的0 元素

从C出发 15 --- 数组练习_第28张图片

 从C出发 15 --- 数组练习_第29张图片

从C出发 15 --- 数组练习_第30张图片

 s 是一个字符数组同时也是一个字符串

#include 
#include 

int main()
{
    char s[] = "abc\0de\0fg";
    int size = sizeof(s);
    int i = 0;
    int j = 0;

    while(i < size)
    {
        if( s[i] == 0)
        {
            for(j = i + 1;j < size; j++)
            {
                s[j-1] = s[j];
            }
            
            size--;
        }
        else
        {
            i++;
        }
    }
    printf("s = %s\n",s);
}

你可能感兴趣的:(从C出发,c语言,数据结构,开发语言)