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];
    }




  • 相关阅读:
    Java中的内存分配机制
    javac程序的内存分配
    Linux/Ubuntu下解压命令
    Java跨平台原理
    Java数据类型中String、Integer、int相互间的转换
    Maven的安装、配置及使用入门
    Eclipse快捷键大全(转载)
    shell编程基础
    ubuntu 安装source insight
    ubuntu samba
  • 原文地址:https://www.cnblogs.com/limera/p/charPointer.html
Copyright © 2011-2022 走看看