数组:表示同类数据的集合(业务功能一致且数据类型一样)
[]:
int、 short int、 char
等)下标运算的计算法则:
type ary[M] = ...;
int n = ...;
ary[n] address is:
(int)ary + sizeof(type)*n
C语言规定只能逐个引用数组元素,而不能一次引用整个数组
数组的引用名是第0个元素的地址常量
下标运算的计算规则:
type ary[M][N] = ...;
int x, y =...;
// ary[x][y] 两次下标运算
ary[x] address is:
(int)ary + sizeof(type[N] * x) // 得到一维数组
ar[x][y] address is:
(int)ary[x] + sizeof(type) * y
(int)ary + sizeof(type[N]) * x + sizeof(type) * y
推导:
(int)ary + sizeof(type) * N * x + sizeof(type) * y (DEBUG版)
(int)ary + sizeof(type) * (N*x + y) (Release版)
int ary[8]
中8可不写[]、*、->
。所以关键看形参是否用到了间接访问,不看形参类型(指针,数组等)\r
表示回车,回到行头。\n
表示换行,不会回到行头。微软用 \n
包含了回车和换行,别的操作系统就不一定,所以为了兼容,使用\r\n
C style
和 Pascal style
微软的字符串,首先描述数据有多大,然后紧跟着数据,最后还有结束符,兼容两者
只要涉及到地址赋值与转换就会触发C语言的强类型检测
__mbscpy
:多字节cpy
,带中文strcpy
会默认使用此cpy
unicode
输出带有中文字符串时使用wprintf
不会打印出来或打印不正确,需要使用setlocale(LC_ALL,"chs")
获取对应地区的unicode
编码
加减乘除取模等数学类运算以及位运算得到的结果都是常量,不能被赋值
32位系统:任何变量地址都是模4的地址,为了快速寻址
安利书:计算机程序设计艺术,其作者为了出书花费十年写的Tex(排版软件)
手机扫一扫
移动阅读更方便
你可能感兴趣的文章