zoukankan      html  css  js  c++  java
  • c++ 字符串总结

    C++中可以用三种方式存储字符串:

    1.字符数组

    char str[] = “hello, world!”;

    char str[] = {“hello, world!”};二者等价

    (只能在初始化的时候这样写,不能先定义一个字符数组,再用字符串常量赋值!)

    字符数组的长度是字符串长度加1,因为字符串常量会自动加一个‘\0’;

    sizeof(str)返回是13

    cout << str <<endl;一个一个字符的输出,遇到末尾的‘\0’认为字符串结束;

    =======================================

    char str[] = {'h','e','l','l','o'};

    用这种方式初始化的字符数组,结尾处没有'\0',cout << str <<endl;的时候可能会出错,

    因为找不到字符串结束符;

    2.字符指针指向一个字符串常量

    char *str = "hello, world!";

    g++编译的时候会有警告,不建议使用;

    sizeof(str) = 4;计算的是字符指针的空间大小,而不是字符窗常量的大小;

    cout << str << endl;也可以输出字符串;

    3.用string类定义对象

    因为string不是C++的基本类型(比如int, float...)

    而是标准库中的一个类,所以一定要#include <string>

    用string str = "hello,world!";

    与字符数组str[]不同的是,可以先不初始化,定义了以后在用字符串常量赋值!而且支持运算符重载;

    sizeof(str) = 4;也是把str当作指针??

    cout << str << endl;也可以输出字符串;

  • 相关阅读:
    CYPEESS USB3.0程序解读之---同步FIFO(slaveFifoSync)
    CYPEESS USB3.0程序解读之---GPIO
    USB 3.0 开发要点
    关于const声明一些东西
    __attribute__ 你知多少?
    char、signed char、unsigned char的区别总结。
    CentOS7安装配置SAMBA服务器
    linux版本FTP下载
    2021年1月29日
    2021年11月28日
  • 原文地址:https://www.cnblogs.com/zhangze/p/1896393.html
Copyright © 2011-2022 走看看