C语言变量类型隐式转换小陷阱
int型变量可以直接和unsigned int 比较大小吗?不可以。
问题描叙:
这个问题是我在写kmp算法时遇到的。
/** bits32/stddef.h*/#ifndef _BITSIZE_STDDEF_H#define _BITSIZE_STDDEF_H#define _SIZE_Ttypedef unsigned int size_t;#define _PTRDIFF_Ttypedef signed long ptrdiff_t;#endif /* _BITSIZE_STDDEF_H */
哪位能找到其他地方的size_t的32位和64位明确的定义,麻烦把详细的平台和路径给我说一下,或者一个源代码的链接。
C语言变量隐式转换规则
如果把不同类型的数据放在一起运算,隐式转换规则为:窄的转为宽的,范围小的提升为范围大的。