格式化字符串
  将不同类型的变量放到一个字符串里。
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 
 | #include <stdio.h>
 
 int main()
 {
 int a = 0;
 double b = 20;
 char c = 'a';
 char str[20] = { '\0' };
 
 sprintf(str, "%d, %lf, %c", a, b, c);
 puts(str);
 
 return 0;
 }
 
 | 
点击测试代码
动态内存分配
  malloc
函数是动态内存分配函数,使用数组和指针的时候可以用到。目的是,初始化数组时会占用一定的内存,而为了保证数组能兼容多种情况,初始化的长度往往很大,容易造成浪费,这时就可以利用动态内存分配函数,用多少给多少。但是分配的内存的数组用完了以后要及时清理,否则会堆积。
| 12
 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
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 
 | #include <stdio.h>
 #include <stdlib.h>
 
 
 
 
 int main()
 {
 
 signed int n = 5;
 
 
 
 signed int* p = NULL,* q = NULL;
 p = (int*)malloc(sizeof(*p) * n);
 
 
 
 
 
 if (p != NULL)
 {
 
 q = p;
 
 
 for (signed int i = 0; i < n; i = i + 1)
 {
 *p = -i;
 p = p + 1;
 }
 
 
 p = q;
 p = p + 2;
 printf("指针指向的值为:%d\n", *p);
 
 
 free(q);
 }
 else
 {
 printf("malloc error!\n");
 exit(-1);
 }
 
 
 p = NULL; q = NULL;
 return 0;
 }
 
 | 
点击测试代码
在清理动态内存的时候,就会把这一段内存里的所有数据初始化,指针地址不变。清理动态内存需要让指针指向最开始定义时的地址,所以对地址进行了备份。
增加了判断函数,判断是否成功分配内存空间,使程序更加严谨。