2 C语言基础复习

2023-04-15  本文已影响0人  游戏开发程序员

参考 C语言程序设计 第2版

导言:

第二章:类型、运算符和表达式
所有整形都有signed 和 unsigned

外部变量定义前使用,或者不在同个源文件中,需要使用extern声明。
extern声明 不需要声明数组的长度
static会一直占据内存,并且只在本文件内可见

C预处理器

include #define

*和& 优先级比 + * 算术运算符高。return *p+1 先取p值再加1返回。

char中若保存非字符数据,请指定singned或unsigned
++--只能用于变量

逗号分割的表达式,从左到右顺序求值。

数组第一维下标可以不指定大小,其他的必须指定

argv[] 0为启动的程序名称。至少size为1.
argv[argc-1]为最后一个可选参数,argv[argc]为空指针。

printf内容也可以是表达式。谨慎使用
printf((argc > 1) ? "%s 1" : "%s 2", str);

排序算法:
判断任何两个对象之间次序的比较排序;
颠倒对象次序的交换操作;
比较和交换对象的排序算法。

优先级最高:. [] () ->

alloc分配不保证对齐
malloc分配保证对齐
char* s = "123";
char* p = (char*)malloc(strlen(s) + 1); // +1是为了再结尾加上字符\0
strcpy(p, s);

typedef创建新的数据类型名

联合体:union
是一个结构,保存类型长度最长的,并且和具体实现有关。

上一篇 下一篇

猜你喜欢

热点阅读