C语言18个问题
1.这样的初始化有什么问题?char *p = malloc(10); 编译器提示“非法初始式” 云云。
答:这个声明是静态或非局
部变量吗?函数调用只能出现在自动变量(即局部非静态变量) 的初始式中。
因为静态变量的地址必须在编译的过程中就确定下来而malloc()申
请的内存地址是在运行时确定的。
2. *p++ 自增p 还是p 所指向的变量?
答:后缀++ 和--
操作符本质上比前缀一目操作的优先级高, 因此*p++ 和*(p++) 等价, 它自增p 并返回p 自增之前所指向的值。
转载
2010-07-28 16:44:00 ·
416 阅读 ·
0 评论