C语言中有string吗?

如题所述

C语言中没有string类型。

string类型是 C++、java、VB等编程语言中的。 在java、C#中,String类是不可变的,对String类的任何改变,都是返回一个新的String类对象。string 是C++标准程序库中的一个头文件,定义了C++标准中的字符串的基本模板类std::basic_string及相关的模板类实例。

而在C语言中,C语言中没有字符串类型,字符串是存放在字符型数组中的,将字符串作为字符数组来处理的。为了测定字符串的实际长度,C语言规定了一个“字符串结束标志”,以字符'\0'作为结束标志 。

扩展资料:

C++中string的使用:

其中的string是以char作为模板参数的模板类实例,把字符串的内存管理责任由string负责而不是由编程者负责,大大减轻了C语言风格的字符串的麻烦。std::basic_string提供了大量的字符串操作函数,如比较、连接、搜索、替换、获得子串等。并可与C语言风格字符串双向转换。

字符串在C语言中的使用:

字符串常量初始化数组。如:char c[ ]={‘c’,‘ ’,‘p’,‘r’,‘o','g','r','a','m'};可写为:char c[ ]={"C program"}; 或去掉{}写为:char c[ ]="C program"。

参考资料来源:百度百科-string类

参考资料来源:百度百科-字符数组

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-10
一直以来对这个问题都不是很清楚:只是知道C语言里有<string.h这个头文件,所以就想当然的认为C语言里有string这个
类型,可以通过下面这种形式来声明string的变量 string aString;
后来编程时发现通不过编译,又查资料才知道原来C语言里压根就没有string这个类型,所以字符串都是通过char数组来存储的,
而<string.h这个头文件里声明的函数原型也全是针对char数组的种种操作。直到C++中才出现了string这个类(注意是类,
不是类型)。这是网上我找到的比较满意的答复:
" C语言中有string类型变量吗"
这里的 string 有 二 义性。
(1) 如果 string 是普通词汇,“C语言中有字符类型变量吗”, 答,有。 字符类型 用 char 声明。
char str[]="This is a string";
(2) 如果 string 是专用词汇,“C语言中有string类型变量吗”,答,没有。string 是 类,是 class, 不是
类型,不是 type.本回答被提问者采纳
第2个回答  2010-06-30
C语言提供了丰富的字符串处理函数, 大致可分为字符串的输入、输出、合并、修改、比较、转换、复制、搜索几类。 使用这些函数可大大减轻编程的负担。用于输入输出的字符串函数, 在使用前应包含头文件"stdio.h" ; 使用其它字符串函数则应包含头文件"string.h"。 下面介绍几个最常用的字符串函数。
1.字符串输出函数 puts 格式: puts (字符数组名) 功能:把字符数组中的字符串输出到显示器。 即在屏幕上显示该字符串
#include"stdio.h"
main()
{
static char c[]="BASIC\ndBASE";
puts(c);
}
2.字符串输入函数gets 格式: gets (字符数组名) 功能:从标准输入设备键盘上输入一个字符串。 本函数得到一个函数值,即为该字符数组的首地址。
#include"stdio.h"
main()
{
char st[15];
printf("input string:\n");
gets(st);
puts(st);
}
3.字符串连接函数strcat 格式: strcat (字符数组名1,字符数组名2) 功能:把字符数组2中的字符串连接到字符数组1 中字符串的后面,并删去字符串1后的串标志“\0”。本函数返回值是字符数组1的首地址。
#include"string.h"
main()
{
static char st1[30]="My name is ";
int st2[10];
printf("input your name:\n");
gets(st2);
strcat(st1,st2);
puts(st1);
}
4.字符串拷贝函数strcpy 格式: strcpy (字符数组名1,字符数组名2) 功能:把字符数组2中的字符串拷贝到字符数组1中。串结束标志“\0”也一同拷贝。字符数名2, 也可以是一个字符串常量。这时相当于把一个字符串赋予一个字符数组。
#include"string.h"
main()
{
static char st1[15],st2[]="C Language";
strcpy(st1,st2);
puts(st1);printf("\n");
}
5.字符串比较函数strcmp 格式: strcmp(字符数组名1,字符数组名2) 功能:按照ASCII码顺序比较两个数组中的字符串,并由函数返回值返回比较结果。
字符串1=字符串2,返回值=0;
字符串2〉字符串2,返回值〉0;
字符串1〈字符串2,返回值〈0。
本函数也可用于比较两个字符串常量,或比较数组和字符串常量。
#include"string.h"
main()
{ int k;
static char st1[15],st2[]="C Language";
printf("input a string:\n");
gets(st1);
k=strcmp(st1,st2);
if(k==0) printf("st1=st2\n");
if(k>0) printf("st1>st2\n");
if(k<0) printf("st1<st2\n");
}
6.测字符串长度函数strlen 格式: strlen(字符数组名) 功能:测字符串的实际长度(不含字符串结束标志‘\0’) 并作为函数返回值。
#include"string.h"
main()
{ int k;
static char st[]="C language";
k=strlen(st);
printf("The lenth of the string is %d\n",k);
}
第3个回答  2014-04-15
string是C++里才新定义出来的类型,使用前要#include <string>,C里面用的是C风格的字符串

即使是C++用的时候也要使用namespace——————std::string i = "";头文件string
第4个回答  2008-04-25
string src="hello"可以这么理解.

在头文件里有:
typedef char *string
所以这一句其实就是:
char *src="hello";
就是在声明了一个字符串数组后对其进行了初始化.

这一句可以写成这样:
char src[6]="hello";

这一句理解了,后面两句也就容易理解了.
string filename,temp
就是:
char *filename,*temp
是两个字符类型的指针.

C语言中有string吗?
C语言中没有string类型。string类型是 C++、java、VB等编程语言中的。 在java、C#中,String类是不可变的,对String类的任何改变,都是返回一个新的String类对象。string 是C++标准程序库中的一个头文件,定义了C++标准中的字符串的基本模板类std::basic_string及相关的模板类实例。而在C语言中,C语...

小白问题,C语言里没有string这个数据类型么
没有。不过可以用 char *string1="abcd"; \/\/ 定义一个字符串指针 或者 char string2[]="abcd" \/\/定义字符串数组 来代替。

string在c语言中的意思
string在c语言中的意思是System.Char对象的有序集合,用于表示字符串。String就是C等编程语言中的字符串,用双引号引起来的几个字符。c语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言具有高效、灵活、功能丰富、表达力强和较高的可移植性等特点,在程序设计中备受青睐。C语言...

c语言中有string吗?
是的,C语言中有string类型。C语言中提供了字符数组来模拟字符串类型,虽然在语言中没有专门的“string”类型,但是字符数组通过终止符来表示字符串的结束,这使得我们可以将字符数组视为字符串进行操作。在C语言中,字符串实质上是一个字符数组,以空字符 '\\0' 结尾。因此,我们可以使用字符...

在c语言中“a”和‘a’的区别是?
C语言中没有String的类型,不过是有String这个概念,C语言的字符串也是char类型存储。C语言中"a"表示一个字符串,在内存中存储为 'a' '\\0' 两个字符,大小为2字节。C语言中'a'表示一个字符,在内存中存储为 'a' 一个字符,大小为1字节。扩展知识:在C语言中可以用char类型的指针来存储任意...

在c语言中有没有string类型
c语言中没有string类型 在C++、java等编程语言中,String就是字符串。在C语言中字符串用字符数组表示,没有单独的string类型变量。可通过string.h中定义的函数完成字符串的相关操作。

为什么C语言没有String类型?
C语言没有String类型,但是C语言提供了字符串常量。C语言中字符串的概念:以 NUL 字节结尾的零个或多个字符,字符串通常储存在字符数组中 当一个字符串常量出现在一个表达式中时,表达式所使用的值就是这些字符所存储的地址,因此可以把字符串常量赋值给一个“指向字符的指针”。

string在c语言中是什么意思?
C语言中的string是一个字符数组,用于存储字符序列,通常以ASCII码形式表示文本。字符串在C语言中是非常重要的数据类型,经常用于处理文本信息。下面详细解释string在C语言中的相关概念和用法。1. 字符串定义与初始化:在C语言中,可以使用字符数组来定义字符串。例如:`char str[10] = "hello";` 这行...

c语言string是什么意思(string在c语言中是什么意思)
C语言中没有string类型。string类型是C++、java、VB等编程语言中的。在java、C#中,String类是不可变的,对String类的任何改变,都是返回一个新的String类对象。c语言中,string是做什么用的。怎么用,请详细说下 string是一个头文件#include就包涵了对字符处理的一些函数,比如strlen用来计算串长度strcpy...

c语言中string怎么用啊
在C语言中,并没有内置的字符串类型。但为了处理文本数据,可以使用字符数组来表示字符串。字符数组是一个用于存储字符的连续内存空间,可以模拟字符串的使用。例如:c char str[] = "Hello, World!"; \/\/ 这是一个包含13个字符的字符数组,表示一个字符串。2. 字符串操作 C语言标准库提供了一系列...

相似回答