c语言 char类型 str[10]="\0"是对的,那str[10]=0对吗?为什么?
6个回答
展开全部
在一定范围内,char型和整形是可以画等号的。
char str[10] = "\0"; //是对的;
str[10] = "\0";//是错的;
char str[10] = 0;//是错的;
str[10] = 0;//当定义了str数组后,且长度大于等于11,是对的。
"\0"是字符串,相当于一个包含两个元素的数组:const char[2],
分别为char[0] :0,char[1]:0;
'\0'是字符,就是ASCII码为0的字符;
NULL定义在<stdio.h>中,
#ifndef NULL
#ifdef __cplusplus
#define NULL 0
#else
#define NULL ((void *)0)
#endif
#endif
可能对于你来说有点复杂,你就这么理解:NULL是0或者空指针。
char str[10] = "\0"; //是对的;
str[10] = "\0";//是错的;
char str[10] = 0;//是错的;
str[10] = 0;//当定义了str数组后,且长度大于等于11,是对的。
"\0"是字符串,相当于一个包含两个元素的数组:const char[2],
分别为char[0] :0,char[1]:0;
'\0'是字符,就是ASCII码为0的字符;
NULL定义在<stdio.h>中,
#ifndef NULL
#ifdef __cplusplus
#define NULL 0
#else
#define NULL ((void *)0)
#endif
#endif
可能对于你来说有点复杂,你就这么理解:NULL是0或者空指针。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |