Posts with the tag: Notes

C Note 20210826

Read in 1 minute ·

栈帧 当函数调用时,系统会在STACK空间上申请一块区域,供函数使用。 主要存放形参和局部变量。 当函数调用结束,内存会被释放(并不)。 一般来说是

C Note 20210708

Read in 2 minutes ·

指针 指针:地址 指针变量:存地址的变量。 基操 给函数传指针p,函数内直接修改*p相当于直接修改变量的内容 void test(int * p) { *p = 23333; } int main(void) { int * p; int a = 4; p

C Note 20210629

Read in 1 minute ·

二维数组 int arr[5][5] = { {1,2,3,4,5}, {2,3,4,5,6}, {3,4,5,6,7}, {4,5,6,7,8}, {5,6,7,8,9}, }; arr == &arr[0][0] == arr[0] 字符串与字符数组 字符串是字符数组的一个特例 char str[5] = {'h', 'e', 'l', 'l', 'o'}; //这样末尾不会补\0,但我本地的编译器好像

C Note 20210623

Read in 2 minutes ·

for() for(int i = 0; i<100; i++) { printf("%d", i); //This is OK. } printf("%d", i); //Undefined var. i 只能在for循环体内使用。 for()中的三个表达式都可以省略(通过别的方式替换),但必须有 ;。 int i = 0;

C Note 20210622

Read in 2 minutes ·

extern 让编译器不将声明提升为定义。 const 常量声明 volatile 防止编译器优化代码。单片机可能会比较常用。 register 寄存器变量,将变量直接存储到寄存器中,有存储失败的可能

C Note 20210618

Read in 2 minutes ·

原码 最高位为符号位,0表示整数,1表示负数。 其他部分就是数值本身绝对值的二进制数。 负数的原码就是绝对值基础上,最高位变1。 十进制 原码 +40 0010 1000 -40