美文网首页
C语言笔记——这都是些比较杂的东西了

C语言笔记——这都是些比较杂的东西了

作者: syc_poker | 来源:发表于2018-03-14 10:21 被阅读0次

    C语言笔记——这都是些比较杂的东西了

    字符数组

    字符数组可以有以下几种初始化方式,选择自己喜欢的(也就是简便的来记一下就好了)。

    int main()
    {
        //初始化字符数组的每个元素
        str1[6] = {'P','o','k','e','r','\0'};
        
        //也可以不写元素个数
        str2[] = {'P','o','k','e','r','\0'};
        
        //使用字符串常量初始化字符数组
        str3[] = {"Poker"};
        
        //使用字符串常量初始化字符数组,可以省略大括号
        str4[] = "Poker";
    }
    

    处理字符串的函数

    这一类函数主要被定义在 string.h 这个头文件中。

    sizeof和strlen

    这两个函数在之前就讲过了,在这里就再提一下。

    #include<stdio.h>
    #include<string.h>
    int main()
    {
        char str[] = "Poker";
        printf("sizeof is: %d",sizeof(str));
        printf("strlen is: %u",strlen(str));
        return 0;
    }
    

    结果,程序运行时输出的内容为:
    sizeof is: 6
    strlen is: 5
    这就是他们的不同点之一,在之前我们说过,字符数组的最后一位是 \0 但是strlen是不计算这个的,但是 sizeof 是要计算的。

    strcpy和strncpy

    这两个函数都是字符串的拷贝,但是用法不一样。
    strcpy([目标数组],[原始数组]);
    strncpy([目标数组],[原始数组],[拷贝长度]);
    就相当于两个一个是不受限制的拷贝,另一个是受限制的拷贝。
    同时, strncpy 并不会自动追加一个 \0 需要自己去追加。

    在使用拷贝函数的时候还应该注意,目标数组要足够大,至少要能够容纳原始数组,不然就会发生溢出。

    strcat和strncat

    这两个都是字符串的拼接。
    这里的 strncat 在字符串最后会自动追加一个 \0

    strcmp和strncmp

    这个函数运行原理就是逐一对比两个数组的值
    然后如果完全相等,返回值就是 0 ,如果不完全相等,就返回 非0数 但不一定是 1

    二维数组的特点

    在声明的时候,形式如:

    int a[3][4]
    

    这个意思就是声明了一个3行4列的数组,然后呢,在具体声明的时候写法可以按照如下来,方便看清,也方便日后debug...........

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

    这样来声明多维数组既能保证在一行上的舒坦,又方便debug。

    相关文章

      网友评论

          本文标题:C语言笔记——这都是些比较杂的东西了

          本文链接:https://www.haomeiwen.com/subject/mqkefftx.html