char str[]="ABCD";相当于写:char str[5]={ 'A','B','C','D',0 };
那么*(p+4)相当于p[4]或str[4]的值是0
这里运用了两个
c语言的默认格式,一个是用str[]让编译器根据后面赋值的
字串自己统计应当申请的数组元素个数,另一个是用
字符串"ABCD"的写法默认是占用5个字符位置,包括ABCD四个字母和最后用来结束字符串的0
追问0和"\0"什么区别??
追答0和'\0'没有区别而“\0”则是包含字符'\0'和字符串结尾符号的0的两个数据