Loading

C语言复习 day01

梦开始的地方

点击查看代码
#include <stdio.h> //标准输入输出头文件,包含printf()函数
int main(void) {
    printf("Hello, world.\n");
    return 0;
}


Q1:在C语言中,32位操作系统和64位系统的区别?

  • 指针大小:32位操作系统寻址范围是\(2^{32}\),因此一个指针大小是4字节;64位则是8字节。

  • 数据类型

  1. int:为了向下兼容,64位系统的int类型也是4字节。
  2. long:32位系统是4字节,64位则是8字节,这是主要区别。
  3. long long都是8字节,short都是2字节。
32位 64位
char 1字节 1字节
short 2字节 2字节
int 4字节 4字节
long 4字节 8字节
long long 8字节 8字节
float 4字节 4字节
double 8字节 8字节
long double 8字节 16字节
size_t 4字节 8字节
ssize_t 4字节 8字节

暂时还不清楚size_t和ssize_t这两个数据类型是干嘛的,标记。

C 存储类

auto 存储类

auto只能修饰局部变量,局部变量默认是auto存储类。
定义在函数体中的局部变量,在函数开始时被创建,在函数结束时被销毁。

register 存储类

定义存储在寄存器中的局部变量(可能存储在寄存器中,取决于实现)。
不能对它用\(&\),因为它没有内存位置。

static 存储类

在程序中只初始化一次,该变量会一直存在。

extern 存储类

使用extern,不会为变量分配内存,而是告诉编译器,这个变量已经在别的文件定义好了,你去找吧。

C运算符

关系运算符

!= 、>=、<=

位运算符

位运算符 功能
& 逻辑与
| 逻辑或
~ 逻辑非
^ 逻辑异或
逻辑左移,高位丢弃,低位补0
逻辑右移,高位补符号位,低位丢弃

sizeof()运算符返回一个变量所占的字节数。
*是指针运算符,int *a表示a指向一个数据类型为int的对象。

记住,赋值运算符优先级最低。

OK,今天暂时看到这里。

posted @ 2025-05-27 16:46  王仲康  阅读(29)  评论(0)    收藏  举报