目录
- 梦开始的地方
- Q1:在C语言中,32位操作系统和64位系统的区别?
- C 存储类
- auto 存储类
- register 存储类
- static 存储类
- extern 存储类
- C运算符
梦开始的地方
点击查看代码- #include <stdio.h> //标准输入输出头文件,包含printf()函数
- int main(void) {
- printf("Hello, world.\n");
- return 0;
- }
复制代码 Q1:在C语言中,32位操作系统和64位系统的区别?
- 指针大小:32位操作系统寻址范围是\(2^{32}\),因此一个指针大小是4字节;64位则是8字节。
- 数据类型
- int:为了向下兼容,64位系统的int类型也是4字节。
- long:32位系统是4字节,64位则是8字节,这是主要区别。
- long long都是8字节,short都是2字节。
32位64位char1字节1字节short2字节2字节int4字节4字节long4字节8字节long long8字节8字节float4字节4字节double8字节8字节long double8字节16字节size_t4字节8字节ssize_t4字节8字节暂时还不清楚size_t和ssize_t这两个数据类型是干嘛的,标记。
C 存储类
auto 存储类
auto只能修饰局部变量,局部变量默认是auto存储类。
定义在函数体中的局部变量,在函数开始时被创建,在函数结束时被销毁。
register 存储类
定义存储在寄存器中的局部变量(可能存储在寄存器中,取决于实现)。
不能对它用\(&\),因为它没有内存位置。
static 存储类
在程序中只初始化一次,该变量会一直存在。
extern 存储类
使用extern,不会为变量分配内存,而是告诉编译器,这个变量已经在别的文件定义好了,你去找吧。
C运算符
关系运算符
!= 、>=、 |