关于C语言字符串的初始化和结束符

2025-01-04 23:36:30
推荐回答(4个)
回答1:

strncpy(GPS_GPRMC.GPS11_Date,p1,(GPS_TD-1));
这一句是将p1(p1是个字串)中取前(GPS_TD-1)的字符组成的子串,然后给GPS_GPRMC.GPS11_Date。(请注意这里所指向的内容不再是0了)
GPS_GPRMC.GPS11_Date[GPS_TD-1] = 0;这个就很好理解了,就是将这个子字串的第GPS_TD-1个字符取为0。
希望对你有帮助

回答2:

GPS_GPRMC.GPS11_Date[GPS_TD-1] = 0;就是 将最后一位 赋值成’\0’

回答3:

说来应该是可以这样理解。
这里应该是一种比较良好的习惯吧!

回答4:

是的。
其实是一个习惯,因为str**类的函数,都是以‘/0’作为结束符。strlen(),等等,所以习惯在末尾置‘/0’