1. strlen(char *str) 返回str中除去结束字符\0的字符数
2. 系统对所有""号内的字符串,无论是全局的和局部的,都会在字符串区域开辟一块内存。例如:
char *p = "hello";
系统为hello开辟一块内存,并把p指向这块内存。
3. 初始化动态分配的字符串不能使用=,应使用strcpy,例如把world追加到hello的末尾:
// 正确的方法
char *p = (char *)malloc(11);
char *str = "world";
strcpy(p, "hello"); /* 要这样赋值 */
strcat(p, str);
// 错误的方法
char *p = (char *)malloc(11);
char *str = "world";
p = "hello"; /* 只是改变p所指的存储区(由堆区到字符串常量区),但没有初始化新分配的字符串 */
strcat(p, str);
5. strcat(char *str1, char *str2)不会动态的增加str1的长度,调用strcat函数时要保证目标串有足够的可以容纳目标串与源串连 接起来的整个串的长度,另外str1不能为空串,
本文详细介绍了C语言中字符串操作的基础知识,包括如何正确地使用strlen获取字符串长度、字符串内存分配及初始化方法、以及strcat函数的正确用法和注意事项等。通过本文,读者将了解到在C语言编程中如何避免一些常见的字符串操作错误。
2314

被折叠的 条评论
为什么被折叠?



