基础知识练习
士人有百折不回之真心,才有万变不穷之妙用。...为什么不提倡使用它?
小林:在调用 alloca() 的函数返回的时候, 它分配的内存会自动释放。也就是说, 用 alloca 分配的内存在某种程度上局部于函数的 “堆栈帧” 或上下文中。...由于这些原因, alloca() 不合标准, 不宜使用在必须广泛移植的程序中, 不管它 可能多么有用。既然 C99 支持变长数组(VLA), 它可以用来更好的完成 alloca() 以 前的任务。...学生:为什么 strcat(string, ’!’); 不行?
小林:字符和字符串的区别显而易见, 而 strcat() 用于连接字符串。 C 中的字符用它们的字符集值对应的小整数表示。...字符 串用字符数组表示; 通常你操作的是字符数组的第一个字符的指针。二者永远不 能混用。要为一个字符串增加 !, 需要使用strcat(string, "!");