zoukankan      html  css  js  c++  java
  • C++ char和string的区别

    'a'是char, "a"是char string,这两者都是普通的字符和字符串,和C中没什么不同 值得注意的是后者包含两个字符,末尾有一个隐身的''
    而:string str = "a" 是C++ string 注意:C++中的char string和string不是一回事
    当用到了"string"这个关键词,就不是普通的字符串,而是用到了封装后的类
    在C++中,char仍然是一个primitive type(原始类型),而string已经经过封装,成为了一个class(类) 用到它时,我们需要 #include <string>,它是C++ Standard Library (C++标准库)的一部分
    string这个类包括很多成员函数,比如push_back(), insert(), append()等, 详情见: http://www.cplusplus.com/reference/string/string/

    1.如何给char*赋值
    1.1 char* 字符串常量赋值

    char*p="abc";//因为abc是个字符常量,在常量区,p在栈中;
    p[0]是无法修改字符常量的,但是p可以重新定向; p="bcd";
    char name[20];name="abc";//出错,因为name是个地址常量,系统不允许它赋值。

    1.2 char* new分配地址赋值

    char*p=NULL;
    p=new char[100];
    cin>>p;

    2.如何给char**赋值

    第一步:必须用new给二级指针分配地址
    char**s=NULL;
    s=new char*[3];
    第二步:按照char*的方式赋值
    1。字符常量赋值
    s[0]="abc";
    s[1]="cbd";
    2. new分配地址
    for(int i=0;i<3;i++)
    {
    s[i]=new char[100];
    }




  • 相关阅读:
    第五篇
    第四篇
    PAT Basic 1094 谷歌的招聘 (20 分)
    PAT Basic 1093 字符串A+B (20 分)
    Dubbo 04 服务化最佳实现流程
    Dubbo 03 Restful风格的API
    Dubbo 02 微信开发
    Dubble 01 架构模型&start project
    PAT Basic 1020 月饼 (25 分)
    PAT Basic 1019 数字黑洞 (20 分)
  • 原文地址:https://www.cnblogs.com/limera/p/charPointer.html
Copyright © 2011-2022 走看看