C/C++字符串比较面试题解析
字符串比较的 C/C++面试题挺常见的,尤其是char*
和const char*
这些写法,一不注意就踩坑。你要是平时写 C/C++代码,或者准备面试,建议看看这个题目,总结得蛮清楚。代码都有,运行结果一目了然,像str1 == str2
到底是比较地址还是内容,这类经典问题也都有讲。
字符串指针和字符数组在内存中的差异,是面试官爱问的知识点。其实你理解了编译器怎么分配内存,多问题就好理解了。比如const char *str = "abc"
这种写法,你以为每次都是新的内存块,其实都指向同一个常量区。
还有个点也挺重要的——strcmp和==
的区别。新手容易混淆,觉得两者差不多。其实==
是比较地址,strcmp
才是按字符逐个比较。面试时要是答错这块,容易被追问底层原理。
如果你想进一步搞清楚这些内容,我顺手找了几个相关的文章链接。const 修饰符在 C 语言中的应用讲得还不错,谭浩强的那篇也挺有代表性,适合复习基础。
,这套题适合用来梳理知识盲点,是常见的const
、char*
、strcmp
这些老生常谈的考点,理解透了不容易被坑。如果你打算冲击一些 C/C++岗位,抽时间过一遍挺有必要的。
243.5KB
文件大小:
评论区