c语言gcc无法识别size_t

Python010

c语言gcc无法识别size_t,第1张

c语言gcc无法识别size_t具体原因如下:

1、提示缺少分号和括号,cJSON.h文件没有修改。

2、使用的编译器语法检查不完善,版本过低导致无法识别。

3、缺少了size_t的定义,size_t的定义在string.h头文件中存在。

我再次认真的看了下 size_t的使用,

它是为了使程序可以跨平台,是代码具体较好的可移植性。

size_t在32位系统中占4个字节,而在64位系统占8个字节。

我想这是 系统判断其不正确的原因所在吧。

给出(size_t)i<strlen(str1)那么就通类型比较了,就不存在问题了。

而int类型的i和strlen(str1)返回类型是 size_t在不同的操作系统可能就不一样。

所以,系统检测出错。

但是,我不知道为什么,改成 i<(int)strlen(str1)就还是不行呢?

size_t是C内部预定义的一个类型:

typedef

unsigned

int

size_t

因此这句代码相当于:unsigned

int

size=sizeof(long

long)

而sizeof()函数的功能就是求变量在内存中所占的字节数

因此,这句话的意思是将long

long类型在内存中所占的字节数赋值给无符号整型变量size