size_t类型一般定义为unsigned long,即无符号长整形,
当用sizeof、strlen等对变量取值时,返回结果为size_t类型;
而int类型有符号,
当用这两种类型作比较时,很容易出错。
举例:
int
i=-1;
size_t
j=1;
printf("%d\n", i<j);
结果很出乎意料:0
总结:不能对不能符号类型值进行比较。
相关文章
- Java中的Integer和int等包装类和基本数据类型简单比较
- C/C++中 size_t 与C#中类似的类型定义
- 【JAVA基础小问题】Integer与int的区别
- 简单的问题:该用哪中数据类型比较好?
- sql server update 一个int类型 带 ‘ 单引号问题
- Java进阶(三十四)Integer与int的种种比较你知道多少?
- 构建Qt应用程序时出现“error LNK1112: 模块计算机类型“x64”与目标计算机类型“X86”冲突问题的解决办法”
- 关于.Net与J2EE的比较,到底用微软平台还是Java平台的问题
- 运算符与基本数据类型(int,boolean,str)
- mysql列类型char,varchar,text,tinytext,mediumtext,longtext的比较与选择