知识点

作者: yikemi | 来源:发表于2017-06-11 14:24 被阅读16次

    1、memse()的头文件不同的包含

    1. C中头文件
      C中为<memory.h> 或 <string.h>
    2. C++中头文件
      C++中为<cstring>
      参考链接

    2、数组的初始化

    以a[N]为例

    for循环

    ...
    for (i = 0; i < N; i ++)
    a[i] = 0;
    ...
    

    {0}

    a[N] = {0};//该初始化
    //int a[256]={var}; 第一个元素是显式地初始化为var,其余元素是隐式地初始化为0。
    

    3、C/C++中"\0"与'\0'的区别

    int main()
    {
        cout << "abc" << "\0" << "def";//碰巧\0是字符串结束字符巧合,"\0"输出空串
        cout << endl;
        cout << "abc" << '\0' << "def";
         
        return 0;
    }
    
    结果输出:

    输出的时候,"\0"和空串相当,不输出任何东西;0号字符'\0'即控制字符 NULL 输出一个空格。

    对于C,C++原生字符串(包括字符串字面值),其中的第一个'\0',意味着字符串结束。如果串的第一个字符就是'\0';那么当作空串输出,什么也不做。

    4、C/C++的转义字符

    所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加""来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。
    转义字符 意义 ASCII码值(十进制)
    \a 响铃(BEL) 007
    \b 退格(BS) 008
    \f 换页(FF) 012
    \n 换行(LF) 010
    \r 回车(CR) 013
    \t 水平制表(HT) 009
    \v 垂直制表(VT) 011
    \ 反斜杠 092
    ? 问号字符 063
    ' 单引号字符 039
    " 双引号字符 034
    \0 空字符(NULL) 000
    \ddd 任意字符 三位八进制
    \xhh 任意字符 二位十六进制
    参考

    'A'单引号里面的字符(只能输入一个,输入多个会错误)。
    "ABC"双引号里面的是字符串(可以输入多个,当然只有一个也可以,字符串末尾会自动添加一个'\0')。

    也就是说char a[1] = "A";//会报错, error C2117: “a”: 数组界限溢出

    转义字符仅仅是一个字符而已,是为了输出特定的字符而设,所以在输出流的时候'\'你可以写成"\",他们都会输出\的。

    5、return语句

    return代表函数执行完毕,返回return代表函数的终止。
    如果main定义的时候前面是int,那么return后面就需要写一个整数,如果main定义的时候前面是void,那么return后面什么也不需要写。
    在main函数中return 0代表程序执行成功,return -1代表程序执行失败。
    int main()和void main()在c语言中是一样的,但C++只接受int main这种定义方式。

    相关文章

      网友评论

          本文标题:知识点

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