makefile中是否有FLAG设置来检测重复的函数声明?
在头文件中找到重复的函数声明,但是即使FLAG设置为“警告为错误”,编译器也不会报告该声明。
这会带来任何隐性问题吗?
关于以下代码的两个问题:
有和没有malloc()声明之间有什么区别:
p = (char *) malloc (20 * sizeof(char) );
Run Code Online (Sandbox Code Playgroud)
它只是内存位置的差异吗?指针变量' p'在没有该语句的STACK中,在HEAP中有该语句?
为什么陈述是
printf("%s\n", p);
Run Code Online (Sandbox Code Playgroud)
不
printf("%s\n", *p);
Run Code Online (Sandbox Code Playgroud)#include <stdlib.h>
#include <stdio.h>
int main () {
char movie[] = "forrest gump";
char *p;
p = (char *) malloc (20 * sizeof(char) );
p = movie;
printf("%p\n", p);
printf("%p\n", movie);
printf("%s\n", p); // to print "forrest gump"
free(p);
return 0;
}
Run Code Online (Sandbox Code Playgroud)