1、概述
C语言有一些非常基本的数据类型,正是这些基本类型让我们可以延伸了无限的用户自定义类型,本文主要介绍了 int, size_t, time_t, long, long long int 等基本数据类型在Linux32 及 Linux64 的使用情况。表面看上去,这些类型确实太基础太简单,似乎没啥可讲的,实事似乎也是如此,用过C的对这些都已经非常熟悉了,这还用讲?在PC 64位机器出来之前,我们确实不用太关注这些,因为在32位机上编程,似乎很少出现过什么问题,但64位机出来了,象Linux 也支持64位机器,问题就来了,为什么?因为它们的长度发生了变化,而我们的程序也就有可能需要改变一下。
2、举例
先举个例子,如下:
#include
#include
static void get_length(size_t *size)
{
if (size)
*size = 100;
}
static void test(void)
{
char *buf = strdup("hello world");
int n;
printf("buf: %s\n", buf);
get_length((size_t*) &n);
printf("buf: %s, n: %d\n", buf, n);
free(buf);
}
int main(int argc, char *argv[]