社区
C语言
帖子详情
C语言中字符串的定义问题
xiaochun_1999
2010-05-10 04:25:37
貌似在C语言中没有string类型的变量,如果想用字符串只能用char数组去拼。
在定义的时候
char a[]="abc";这种方式可以。
char a[]
a[]="abc"; 这种方式就不可以了。为啥呢?
但是好像下面有种方法可以:
char *a;
char b[]="abc";
a=b; 这样就可以
还有个问题就是如果在定义时不指定字符数组的元素个数,是不是就会按照实际得到值的个数算呢?
...全文
2167
9
打赏
收藏
C语言中字符串的定义问题
貌似在C语言中没有string类型的变量,如果想用字符串只能用char数组去拼。 在定义的时候 char a[]="abc";这种方式可以。 char a[] a[]="abc"; 这种方式就不可以了。为啥呢? 但是好像下面有种方法可以: char *a; char b[]="abc"; a=b; 这样就可以 还有个问题就是如果在定义时不指定字符数组的元素个数,是不是就会按照实际得到值的个数算呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pengzhixi
2010-05-11
打赏
举报
回复
用数组和字符指针都很方便就看LZ喜欢哪种
xiaochun_1999
2010-05-11
打赏
举报
回复
引用 2 楼 longer_0 的回复:
因为没有指定a数组的长度,在C语言中,不支持不定义长度的数组,除非是直接进行初始化。
第二种实现方法中a不再是一个数组,而是一个单纯的指针,所以可以。
指针不需要指定它指向的数据的总长度,只是保存一个头地址罢了。
也就是说使用指针定义一个字符数组(字符串)最简单也最方便了??
484这样呢?
xiaochun_1999
2010-05-10
打赏
举报
回复
[Quote=引用 2 楼 longer_0 的回复:]
因为没有指定a数组的长度,在C语言中,不支持不定义长度的数组,除非是直接进行初始化。
第二种实现方法中a不再是一个数组,而是一个单纯的指针,所以可以。
指针不需要指定它指向的数据的总长度,只是保存一个头地址罢了。
[/Quote]
也就是说使用指针定义一个字符数组(字符串)最简单也最方便了??
xiaochun_1999
2010-05-10
打赏
举报
回复
谢谢大家啦。。。
RHuniSoft
2010-05-10
打赏
举报
回复
这个问题嘛。。a[]是一个char数组,而*b是一个char指针,对于a[]="abcd"是在定义时赋值,a[]实际是储存了5个字节,应经固定了,不能再在下面的程序赋值了,而对于*b为一个字符指针为4个字节,它储存的是一个地址,所以可以重新赋值。。只是赋值后地址内的内容变了而已。
常书
2010-05-10
打赏
举报
回复
C编译器在编译时必需为我们定义的数据分配空间。
char a[]="abc";编译器会根据char和"abc"计算所需空间,为4个字节。
char a[]; 这样子编译器是不知道它的空间的。
在定义时不指定字符数组的元素个数,后面必需跟初始化该数组的值,不然编译器是不会放过它的。
qzf368
2010-05-10
打赏
举报
回复
a[]="abc";
从未见过,这是什么赋值法?
左边到底是什么?
longer_0
2010-05-10
打赏
举报
回复
因为没有指定a数组的长度,在C语言中,不支持不定义长度的数组,除非是直接进行初始化。
第二种实现方法中a不再是一个数组,而是一个单纯的指针,所以可以。
指针不需要指定它指向的数据的总长度,只是保存一个头地址罢了。
wuyu637
2010-05-10
打赏
举报
回复
实际上问题在于老的c++标准不支持动态数组。
在
C语言
中
怎样
定义
一个
字符串
并输入输出
在
C语言
中
没有
字符串
类型,用字符数组处理
字符串
字符数组
定义
:char 数组名 [常量表达式][常量表达式] 说明:一维字符数组,用于存储和处理一个
字符串
。二维字符数组,用于同时存储和处理多个
字符串
输入输出方法:逐个字符输入输出:%c 整个
字符串
输入输出:%s 一 :用scanf输入
字符串
,printf输出
字符串
逐个字符处理: #include int main()
c语言
中
怎么
定义
的
字符串
,
C语言
中
定义
字符串
的几种方式
1,什么是
字符串
?所谓
字符串
本质上就是以'\0作为'结尾的特殊字符数组;2,
定义
字符串
的过程
中
有哪些注意点由于
字符串
本质上其实就是以'\0作为'结尾的特殊字符数组,所以
定义
字符串
时,必须保证
字符串
存储的最后一个元素为'\0'。当我们没有给定
字符串
具体长度时,我们通过这种方式:char
字符串
名称[] = {
字符串
所含元素}; 来
定义
字符串
时,就需要手动的在
字符串
末尾加上'\0',不然的话,它就仅仅...
C语言
字符串
定义
一.
字符串
(单个字符)的
定义
1.单个字符的
定义
char i = ‘x’ (单个字符的
定义
)
字符串
创建后为常量无法修改 2.一维
字符串
数组的
定义
char i []=”xxxx”;(此方式
定义
的一维
字符串
数组必须立刻赋值) char i [4];(此方式相当于在存储器里面建立一个可以存储3个字符的数组空间) char i [4]=”xxxx”; char i [4]={‘x’’x’’x’’x’}; 其
中
定义
的数组的元素数要比实际赋值的数量多一,用于存放\0位置 字符数组只有在
定义
时才能将整个
字符串
一次性
C语言
中
字符串
详解
C语言
中
字符串
详解
字符串
时是
C语言
中
非常重要的部分,我们从
字符串
的性质和
字符串
的创建、程序
中
字符串
的输入输出和
字符串
的操作来对
字符串
进行详细的解析。 什么是
字符串
?
C语言
本身没有内置的
字符串
类型,
字符串
本质上是一种特殊类型的数组,它的组成元素类型为char,除此之外不受制与数组长度的限制,以'\0'作为结束标志,作为
字符串
结束的标志。(\0作为一个特殊字符,它的ASCII值为0,但是它不是'0'字符,'0'字符的ASCII值为48。)
定义
字符串
1.
字符串
字面量(
字符串
常量)
字符串
字面量
c语言
定于
字符串
string,
c语言
字符串
string
c语言
中
,怎么样
定义
一个
字符串
变量
C语言
没有
字符串
类型,所以没办法进行
定义
字符串
变量。 但是可以用字符数组来处理
字符串
。(这
定义
了一个字符数组,名为a) 例:char a[] = "hello"; 也可以用来
定义
一个指针变量(
定义
了一个指针变量,名为p)。 例:char *p = "hello"; 接触
C语言
C语言
中
有string吗?
C语言
中
没有string类型。 string类型是 C++、ja...
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章