C语言问题,给一个字符串赋值等号后面的内容用双引号、单引号的区别是什么。
双引号里的内容是放到那个字符串的地址里,而单引号是直接放到那个字符串里,是这样吗?就像char*p;p=“”;*p=‘’;这样子吗?...
双引号里的内容是放到那个字符串的地址里,而单引号是直接放到那个字符串里,是这样吗?就像char *p;p=“ ”;*p=‘ ’;这样子吗?
展开
展开全部
追问
那例如*p="hellow"和p='h'是不是错的。
追答
都是错的,因为
对于*p = "hellow" 来说,p是一个char类型的指针,*p就是一个char,用“hellow”这个字符串给一个字符赋值显然是错的,“hellow”其实可以当作一个char* ,只是这个char*不可修改而已。
对于p = ‘h’ 来说,p是一个指针,它应该接收一个地址值,而‘h’是一个字符,其实就是一个字节的整数,直接赋值是不对的。
C编译器编译时会发现这种错误,因为赋值操作两边的类型不一样
展开全部
char *p定义一个字符指针, p="" 给这个字符串指针赋值,*p只是取该地址里面的内容,“”这个是字符常量,所以不能对该字符串进行操作
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
p=" "表示指针指向字符串的地址,,而p=‘ ’表指针指向字符的地址,,
" " 表示是字符串 ' '表示字符
" " 表示是字符串 ' '表示字符
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询