这里记录着这个学期C语言学习当中的一些错误(可能也会放点笔记)

  • What’s the meaning of underflow for a floating-point number type? 指数下溢,指的是指数负太多存不下。不能望文生义以为overflow是太大,underflow就是太小,就是精度问题。

  • 1e0是个double,1l是个long,1.0f是个single,1ll是个long long

  • 函数调用时什么将会被存入堆栈?https://blog.csdn.net/zhanglianpin/article/details/6310873

  • struct时需要在每个地方都写一遍struct

  • 定义数组时无法使用const int来标定大小,得用#define

  • double m[10][20]当中,m:double (*)[20];m[1]:double *;m+2:double (*)[20];m[3]+4:double *

  • Stable Sort指的是排序结果稳定的Sort 而不是时间复杂度稳定的sort

  • a void* pointer can’t be assigned to a char* pointer implicitly:void*指针不能被隐式转换成char*。记住implicitly的意思。猜测可能void*只会把地址存下来,而不同的指针类型变量会同时把类型存下来,这样的话void*直接转成别的就会丢掉一些数据就会出问题,就被禁止了。之前猜测可能会有int=double时候自动强转类型的情况,可能就不需要强转(char*)了,这样的猜测是错误的

  • 1
    2
    3
    4
    5
    6
    7
    8
    #include <stdio.h>
    int main()
    {
    int a[]={11,22,33,44,55,66};
    printf("%d\n",&a[5]-&a[3]);
    return 0;
    }
    /*结果是2 取地址之后的结果事实上就是一个指针,指针加减是按照变量数量来的,而非字节数*/
  • enum

*