重~难~易错模型积累

  1. string 表示可变长的字符序列

  2. vector 存放的是某种给定类型对象的可变长序列

  3. malloc()分配的内存空间在堆上,由操作系统进行管理,必须由程序员主动释放,否则存在内存溢出的可能
    示例代码:

char *p = NULL;
p = (char *)malloc(100);
if(p != NULL)
{
        free(p);
}

PS1:如果中途对malloc的指针进行了类似 p++ 的操作,则无法 free(),遇此情况解决办法是定义另一个临时指针变量,接手后进行相关操作
PS2:一般定义临时辅助变量将通过指针传入函数的变量接手,再进行其他操作

  1. C语言既可以在栈上分配内存,也可以在堆上分配内存

  2. char *p = "abcde";中, p是变量,而 “abcde”储存在全局区。p 储存的是 “abcde”所在的地址,即:

指针指向谁,就把谁的地址赋给指针

  1. 一定要注意函数的返回值问题

你可能感兴趣的:(重~难~易错模型积累)