社区
C语言
帖子详情
新手求教,char* ch和char ch[]这两个定义有啥区别啊
e_tie
2005-04-22 02:53:01
rt
...全文
1769
10
打赏
收藏
新手求教,char* ch和char ch[]这两个定义有啥区别啊
rt
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
听海拉拉
2005-04-22
打赏
举报
回复
w
xjp6688
2005-04-22
打赏
举报
回复
看以前的一些帖子,说过N边了
shazi_pig
2005-04-22
打赏
举报
回复
给上面搂主顶一下。
zjraycj
2005-04-22
打赏
举报
回复
1
char *ch//表示ch是一个指向字符串的指针,它可以指向字符串常量也可以指向字符串数组即字符
//数组 。
char ch[]//表示字符数组或字符串,且该数级的内容可以改变。前者可以指向后者,反之不可以
例子:
char *ch="abcd"//这里表示ch指向字符串常量,内容不可改,但ch还可以指向别的字符串。
char ch1[]="abcd"等价于char ch[]={'a','b','c','d','\0'}。注意这里的"abcd"不是常量
虽然ch,ch1同样可以表示指向字数串的指针(这样说不太准确),但ch=ch1可以,而ch1=ch不可以,因为数组名表示常量指针
v41dugu
2005-04-22
打赏
举报
回复
char *pch = "abcd";
这个是把"abcd"这个字符串的首地址传给pch这个指针变量。
char mych[5] = "abcd";
而这个是有一个名为mych的长度为5的字符数组,它的前四个元素分别为'a','b','c','d',第五个元素是'\0'
anyy0929
2005-04-22
打赏
举报
回复
char ch[]在编译时是不是都要变为char* ch??
bobogoing
2005-04-22
打赏
举报
回复
我对这个也是有点搞不清楚。
例如:
char *pch = "abcd";
char mych[5] = "abcd";
知道pch是指向"abcd"的一个char指针,
而mych同样存储的是字符数组的首地址,也就是说同样是指针,那这样的话,除了字符数组最后一个字符是'\0'之外,好象两者就没有什么区另了是吗?
请朋友说解释我听听吧。
useresu
2005-04-22
打赏
举报
回复
还有区别:初始化的问题
char * ch = 'abcde';
这样指向字符串文字量的,相当与const ch[5];
是不能改变常量数组的内容的,
ch[4] = 'e'//error,给常量赋值,无意义
而
char ch[5] = 'abcde';
可以当普通数组使用,是可以修改的.
ch [4] = 'e';//right,没错
fibbery
2005-04-22
打赏
举报
回复
写错了:constant
fibbery
2005-04-22
打赏
举报
回复
char * ch;//字符型指针,是一个变量。此时未初始化。
char ch[20];//字符型数组,是多个字符变量。ch是一个count类型的指针,不可以改变。
词法分析的c语言编程,
新手
小白
求教
大神c语言写词法分析的代码的功能的实现...
已结贴√问题点数:20回复次数:6
新手
小白
求教
大神c语言写词法分析的代码的功能的实现#include#include
ch
ar
prog[80],token[8];
ch
ar
ch
;int syn,p,m,n,sum,e;
ch
ar
* rwtab[6]={"function","if","then","while","do","endfunc"};scaner();main(){p=0;pri...
整型数据和字符串数据相互转化代码
//将整型转化为字符串void itoa(int n,
ch
ar
*
ch
, int *len) { if(n = 0) {
ch
[(*len)++] = (
ch
ar
)(n + '0'); } else { itoa(n / 10,
ch
, len);
ch
[(*len)++] = '0' + n%10; }}其中的参数解释为:n为要转化的
linux C 中常用的字符串操作函数
点击(此处)折叠或打开/*字符串长度函数*/ size_t strlen(const
ch
ar
*string); /*不受限制的字符串函数*/
ch
ar
*strcpy(
ch
ar
*dst, const
ch
ar
*src);
ch
ar
*strcat(
ch
ar
*dst, const
ch
ar
*src); int strcmp(const
ch
ar
*s1, const
ch
一些被我忽略的问题(字符串指针)
昨天2个二级C语言指针问题把我问到了,重新审视了下自己,C语言真心菜啊,连灵魂都没掌握!!!!发此文查漏补缺。 两段代码如下,目的是对字符串进行排序。 #include #include void main() { FILE *p;
ch
ar
*s="634,.%@\\w|sq2",c; int i,j,k,n=strlen(s); p=fopen("Design2.da
c语言 f8x16,
求教
DHT11数据显示在OLED上
求教
各位大佬,DHT11数据怎么显示在OLED上,我的思路是通过sprintf()函数将DHT11采集的温度,湿度数据转化为字符串输出,然后在用OLED显示字符串的函数进行显示,然而最后显示出来的数据是536876020.(OLED部分函数是正确的),基本操作代码以粘贴到下面。//显示字符串void OLED_ShowStr(u8 x,u8 y,u8
ch
[],u8 TextSize){u8 c,...
C语言
70,020
社区成员
243,264
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章