相关文章推荐
" C语言中有string类型变量吗"
这里的 string 有 二 义性。

(1) 如果 string 是普通词汇,“C语言中有字符类型变量吗”, 答,有。 字符类型 用 char 声明。
char str[]="This is a string";

(2) 如果 string 是专用词汇,“C语言中有string类型变量吗”,答,没有。string 是 类,是 class, 不是 类型,不是 type.
类 的 声明 用 构造函数初始化,或 new 声明。

类 -- C++, 不是 C

C语言里压根就没有string这个类型,所以字符串都是通过char数组来存储的, 而<string.h>这个头文件里声明的函数原型也全是针对char数组的种种操作。直到C++中才出现了string这个类(注意是类, 不是类型)。

C语言里有<string.h>这个头文件,所以不要想当然的认为C语言里有string这个 类型。通过下面这种形式来声明string的变量 string aString; 编程时通不过编译。

要想使用标准C++中string类,必须要包含 #include <string>// 注意是<string>,不是<string.h>,带.h的是C语言中的头文件 using std::string;using std::wstring; using namespace std; 下面你就可以使用string/wstring了,它们两分别对应着char和wchar_t。 string和wstring的用法是一样的,以下只用string作介绍: string类的构造函数:string(const char *s); //用c字符串s初始化 string(int n,char c); //用n个字符c初始化 此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常 ; string类的字符操作: const char &operator[](int n)const; const char &at(int n)const; char &operator[](int n); char &at(int n); operator[]和at()均返回当前字符串中第n个字符的位置,但at函数提供范围检查,当越界时会抛出out_of_range异常,下标运算符[]不提供检查访问。 const char *data()const;//返回一个非null终止的c字符数组 const char *c_str()const;//返回一个以null终止的c字符串 int copy(char *s, int n, int pos = 0) const;//把当前串中以pos开始的n个字符拷贝到以s为起始位置的字符数组中,返回实际拷贝的数目 C 语言 没有 string 类型。 string 类型是 C++、java、VB等编程 语言 的。 在java、C# String 类是不可变的,对 String 类的任何改变,都是返回一个新的 String 类对象。 string 是C++标准程序库 的一个头文件,定义了C++标准 的字符串的基本模板类std::basic_ string 及相关的模板类实例。 而在C 语言 ,C 语言 没有字符串类型,字符串是存放在字符型数组 的,将字符串作为字符数组来处理的。为了测定字符串的实际长度,C 语言 规定了一个“字符串结束标志”,以字符’ ##C 语言 没有 string 类型## #include<stdio.h> #include<stdlib.h> int main(int argc, char *argv[]) { char c[][5] = {"abc","haha","no"}; for (int i=0; i<3; i++) { printf("%s\n",c[i]); } return 0; } 一直以来对这个问题都不是很清楚:只是知道C 语言 里有< string .h这个头文件,所以就想当然的认为C语 C 是静态弱类型 语言 。意味着类型(包括 size 等信息,你使用 sizeof 就是编译时候得到的)在编译的时候就能确定下来。 它的原生简单类型有 char int float 这样的,原生复合类型有 struct,以及“伟大”的 指针类型 primitive_type * . 这些类型的设计是在编译时可以明确确定存储空间大小,比如 char 占一个字节。32bit 机器上的指针为 4 Byt C 语言 string 类型变量吗" 这里的 string 有 二 义性。 (1) 如果 string 是普通词汇,“C 语言 有字符类型变量吗”, 答,有。 字符类型 用 char 声明。 char str[]="This is a string "; (2) 如果 string 是专用词汇,“C 语言 string 类型变量吗”,答,没有。 string 是 类,是 class, 不是 类型,不是 ty 转自http://apps.hi.baidu.com/share/detail/35615256 一直以来对这个问题都不是很清楚:只是知道C 语言 里有这个头文件,所以就想当然的认为C 语言 里有 string 这个 类型,可以通过下面这种形式来声明 string 的变量 string a String ; 后来编程时发现通不过编译,又查资料才知道原来C 语言 里压根就没有 string 这个类型,所以字符串都是通过cha  众所周知,c 语言 对于字符串数组的处理相对比较复杂,其 需要调用各种字符串函数,为此,C++设置了 string 类型,下面就详细介绍一下 string 类型的使用方式。 string 类型的初始化: string s1;//s1为空串 string s2("abc");//用字面值abc初始化s2 string s3(s2);//将s3初始化为s2的一个副本 string s... 在C 语言 其实是不存在字符串类型的,C 语言 使用字符数组来模拟字符串,在C++标准库 添加了 string 类这个类型。在C++ 使用 string 类操作字符串是非常的方便的。 strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头, 间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符’\0’为止,然后返回计数器值。 于是我就突发奇想用strlen计算数组会发生什么,由于我是初学者想当然的认为结果就是不完全初始化的整型数组 初始化了的数组数乘以四(即3乘4),结果结果却是这样的 于是我就很疑惑,是我没有包含头文件 string .h吗? 于是我又包含 string .h运行了一 C 语言 里面没有字符串类型,那么我们是如何表示字符串的呢?我们通过使用字符数组,或者说是使用字符指针来去访问字符串类型的东西。 C 语言 的字符串----->C 语言 ,字符串是以’\0’结尾的一些字符的集合,为了操作方便,C标准库 提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符合OOP(面向对象)的思想,而且底层空间需要用户自己管理,稍不留 c 语言 ,怎么样定义一个字符串变量C 语言 没有字符串类型,所以没办法进行定义字符串变量。 但是可以用字符数组来处理字符串。(这定义了一个字符数组,名为a) 例:char a[] = "hello"; 也可以用来定义一个指针变量(定义了一个指针变量,名为p)。 例:char *p = "hello"; 接触C 语言 C 语言 string 吗?C 语言 没有 string 类型。 string 类型是 C++、ja... stoi( S.substr(0,3) );  //范围int型111(  int stoi (const string &amp; str, size_t* idx = 0,...