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”所在的地址,即:
指針指向誰,就把誰的地址賦給指針
- 一定要注意函數的返回值問題