通常有用 malloc() 、 calloc() 或 realloc() 配置過記憶體空間,不需繼續使用的話就會以 free() 釋放
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #include <stdlib.h> #include <stdio.h> #include <string.h> int main( void ) { char *tPtr; tPtr = malloc (40); if (tPtr == NULL) { printf ( "建立記憶體區域失敗...\n" ); exit (1); } strcpy (tPtr, "Actions speak louder than words." ); printf ( "tPtr: %p\n" , tPtr); free (tPtr); printf ( "tPtr: %p\n" , tPtr); return 0; } /* 《程式語言教學誌》的範例程式 檔名:cfree.c 功能:示範 stdlib.h 中函數 free() 的使用 作者:張凱慶 時間:西元2010年6月 */ |
編譯後執行,結果如下

您可以繼續參考
通用工具 stdlib.h
- double atof(const char *);
- int atoi(const char *);
- double strtod(const char *s, char **r);
- long strtol(const char *s, char **r, int base);
- void *bsearch(const void *key, const void *base, size_t n, size_t size, int (*cmp)(const void *keyval, const void *datum));
- void qsort(void *base, size_t n, size_t size, int (*cmp)(const void *, const void *));
- void *calloc(size_t nobj, size_t size);
- void *malloc(size_t size);
- void *realloc(void *ptr, size_t size);
- void free(void *ptr);
- void abort(void);
- void exit(int);
- int system(const char *s);
- int rand(void);
- void srand(unsigned int seed)
沒有留言:
張貼留言