面试题
- 字符串能直接比较大小吗
- typedef定义数组类型用法
字符串能直接比较大小吗
C++中字符串分两种,一种是C语言的字符串,一种是string字符串。C语言字符串是不可以直接比较大小的,string是可以直接比较大小的。
具体细节:
- C语言的字符串的实质是一个字符数组中存储的字符序列,如果直接比较大小相当于比较了两个字符串的首地址的大小,毫无意义。
- C语言的字符串需要通过strcmp函数进行比较大小。
- C++添加的string字符串是一个类,该类对运算符>、<和==进行了重载,能够直接比较两个字符串的大小。(运算符重载技术)
- 建议在C++中尽量使用string字符串,简单,且不容易出错。
typedef定义数组类型用法
从Weiss的《数据结构与算法分析》看到一条typedef语句
typedef struct TableEntry Table[ NunVertex ];
通过查看《 C Primer Plus 》中typedef的相关用法,找到答案。
typedef 关键字有如下用法
typedef int arrs[5];
typedef arrs * p_arr5;
typedef p_arr5 arrp10[10];
arr5 togs;
p_arr5 p2;
arrp10 ap;
所以
typedef struct TableEntry Table[ NunVertex ];
这条语句定义了一个含有NunVertex 个元素的结构体数组类型。
Table T;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)