c语言中string是什么意思(C语言string是什么数据类型)

如题所述

c语言* string是什么

这是指C语言中的库文件,只有当需要调用相应的函数时,才需要添写该库文件至头文件

C语言string是什么数据类型

string是C++、java、VB等编程语言中的字符串,字符串是一个特殊的对象,属于引用类型。在java、C#中,String类对象创建后,字符串一旦初始化就不能更改,因为string类中所有字符串都是常量,数据是无法更改,由于string对象的不可变,所以可以共享。对String类的任何改变,都是返回一个新的String类对象。C++标准库中string类以类型的形式对字符串进行封装,且包含了字符序列的处理操作。

c语言为什么要加个string

string是一个库的名字,如果你需要用到这个库里面的函数,就需要#include,里面含有的函数比较多,在调用时,每个函数都有各自的格式,一般在c语言课本后面的附录中都有介绍的。

编程语言中的字符串,用双引号引起来的几个字符.如"Abc","一天"。String类是不可变(final)的,对String类的任何改变,都是返回一个新的String类对象。

这样的话把String类的引用传递给一个方法,该方法对String的任何改变,对原引用指向的对象没有任何影响,这一点和基本数据类型相似。

c语言字符串表示方法

1.C语言中字符串的表示方式有两种:字符指针和字符数组

2.字符指针表示字符串

从编译器角度分析:

例如:char*p="linux";p是字符指针,"linux"字符串本身,当编译器遇到这种字符串表示时,会将指针和字符串本身分开处理,字符指针p是一个变量,将其放在栈上,而字符串本身"linux"则被存放在代码段,其首地址赋给p。

从内存角度分析:

例如:char*p="linux";首先对字符指针p,会为其在栈上开辟一个4字节的空间,而"linux"字符串本身,会在代码段为其开辟一个6字节的存储空间,将该存储空间的首地址赋值给p。

3.字符数组表示字符串

从编译器角度分析:

例如:chara[]="linux";a是字符数组,编译器会将其放在栈上,而"linux"字符串本身却只存在于编译器中,即编译器只是将它用来初始化字符数组a后丢弃掉。

从内存角度分析:

例如:chara[]="linux";定义了一个字符数组a,在栈上开辟一个6字节的存储空间,而"linux"字符串本身由于只存在于编译器中,所以不需要为此开辟存储空间。

4.两种表示字符串的差别

字符数组本身是数组,数组自身自带内存空间,可以用来存储东西;而字符指针是指针,本身永远只占4字节,而且这4字节还不能用来存储有效数据,所以只能把有效数据存放到其他的地方,然后把首地址存放在p中。

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网