摘要:
在x.c中定义了一个字符数组 char s[100],在l.c中进行引用extern char s[200], 有些c程序新手经常把它写成extern char *s。 这两种写法的含义一样吗?首先得理解声明与定义的含义:定义一个变量意味着要给它进行内存分配, 而声明一个变量则可以在其他文件中, 只是进行一种声明, 表示有这个变量存在, 但是在其他文件中定义, 声明后不用分配内存。我们看一下extern char s[100]与extern char *s在执行s[10]的取值过程是什么样的:1、 extern char s[100], s是个符号, 它既是一个数组的名称, 又是数组的起始地址 阅读全文