------------------------------------------------------------------------------------------------------
问题:
1.size_t是数据类型?
2.“size_t类型是表示sizeof操作符执行结果的无符号整数类型。”
这句话是什么意思?
3.“size_t类型的限制是由SIZE_MAX宏指定的”
在哪个头文件的宏?
13 个解决方案
#1
《C安全编码标准》
第5章 整数
INT01-C 使用rsize_t或size_t类型表示所有表示对象长度的整数值
第5章 整数
INT01-C 使用rsize_t或size_t类型表示所有表示对象长度的整数值
#2
#3
在你的 compiler 中找找
vs2010
typedef unsigned __int64 size_t;
typedef _W64 unsigned int size_t;
vs2010
typedef unsigned __int64 size_t;
typedef _W64 unsigned int size_t;
#4
compiler是什么扩展名文件?
#5
compiler是指编译器.
这位的意思是,size_t并非原始的数据类型(如int, char等),而是由开发环境自己定义的类型,
所以你可以到开发环境的头文件里找到相应定义.
#6
size_t是无符号整形
#7
size_t是自定义类型?
为什么一定要用这个关键字?用其它不可以?
#8
这是考虑到可移植性,在不同的编译环境下,int的长度可能不一样,但size_t的长度却是一样的。
#9
另外,size_t不是关键字……
#10
size_t是自定义类型,它可以是任何类型。当然长度也不一样了。
为什么你说是一样?
#11
不是关键字是什么呢?
#12
你理解错了,在下不是说size_t的长度不能变,只是C标准里定义的size_t是编译器无关的。在不同的编译器下size_t是一样的,而int长度则可以不同(你不去重定义size_t的前提下)。
#1
《C安全编码标准》
第5章 整数
INT01-C 使用rsize_t或size_t类型表示所有表示对象长度的整数值
第5章 整数
INT01-C 使用rsize_t或size_t类型表示所有表示对象长度的整数值
#2
#3
在你的 compiler 中找找
vs2010
typedef unsigned __int64 size_t;
typedef _W64 unsigned int size_t;
vs2010
typedef unsigned __int64 size_t;
typedef _W64 unsigned int size_t;
#4
compiler是什么扩展名文件?
#5
compiler是指编译器.
这位的意思是,size_t并非原始的数据类型(如int, char等),而是由开发环境自己定义的类型,
所以你可以到开发环境的头文件里找到相应定义.
#6
size_t是无符号整形
#7
size_t是自定义类型?
为什么一定要用这个关键字?用其它不可以?
#8
这是考虑到可移植性,在不同的编译环境下,int的长度可能不一样,但size_t的长度却是一样的。
#9
另外,size_t不是关键字……
#10
size_t是自定义类型,它可以是任何类型。当然长度也不一样了。
为什么你说是一样?
#11
不是关键字是什么呢?
#12
你理解错了,在下不是说size_t的长度不能变,只是C标准里定义的size_t是编译器无关的。在不同的编译器下size_t是一样的,而int长度则可以不同(你不去重定义size_t的前提下)。
#13
size_t只是个类型名而非关键字。ANSI C定义的关键字就38个, 自己去查。