string
表示可变长的字符序列vector
存放的是某种给定类型对象的可变长序列malloc()
分配的内存空间在堆上,由操作系统进行管理,必须由程序员主动释放,否则存在内存溢出的可能
示例代码:
char *p = NULL;
p = (char *)malloc(100);
if(p != NULL)
{
free(p);
}
PS1:如果中途对malloc的指针进行了类似 p++ 的操作,则无法 free(),遇此情况解决办法是定义另一个临时指针变量,接手后进行相关操作
PS2:一般定义临时辅助变量将通过指针传入函数的变量接手,再进行其他操作
C语言既可以在栈上分配内存,也可以在堆上分配内存
char *p = "abcde";
中, p是变量,而 “abcde”储存在全局区。p 储存的是 “abcde”所在的地址,即:
指针指向谁,就把谁的地址赋给指针
- 一定要注意函数的返回值问题