C语言深度剖析-----C语言中的字符串

时间:2023-12-15 23:18:32

C语言深度剖析-----C语言中的字符串



S1字符数组

S2字符串,存在于栈空间

S3最常规的写字符串的方法,malloc是堆空间,存在于只读存储区,我们不能够改变指向S3的数据

S4堆空间



C语言深度剖析-----C语言中的字符串 S4





字符串的长度

C语言深度剖析-----C语言中的字符串

判断字符串长度,assert 判断是否空



C语言深度剖析-----C语言中的字符串

length strlen字符串长度   size sizeof数组大小





C语言深度剖析-----C语言中的字符串

无符号数相减总是大于0,第二个if不成立



使用一条语句实现strlen(面试题,考递归、三目运算符、逗号表达式)

C语言深度剖析-----C语言中的字符串

C语言深度剖析-----C语言中的字符串

最终答案:

C语言深度剖析-----C语言中的字符串



注意

C语言深度剖析-----C语言中的字符串



不受限制的字符串函数,自己判断 \0

C语言深度剖析-----C语言中的字符串

C语言深度剖析-----C语言中的字符串



C语言深度剖析-----C语言中的字符串

相等返回0



C语言深度剖析-----C语言中的字符串

strcpy的实现,面试出现概率高,assert很重要,安全编程思想,指针的方式会更高效





长度受限的字符串函数(较安全)

C语言深度剖析-----C语言中的字符串



C语言深度剖析-----C语言中的字符串