c - 如何在 C 中用 extern 声明一个指针?

标签 c pointers extern

我正在为微 Controller 编写C 软件,编译器是Microchip MCC18。

为了测试的目的,我写了一个非常简单的程序如下:

.c文件

#include "x.h"

char *now_clock;

.h文件

extern char *now_clock;

上面的代码出现语法错误,但我不知道哪里出了问题。有帮助吗?

最佳答案

显示的代码在整个编辑过程中似乎没有改变,在严格警告下,在 MacOS X 10.6.6 和 GCC 4.5.2 上为我正确编译——确实应该这样做。

$ cat x.h
extern char *now_clock;
$ cat x.c
#include "x.h"

char *now_clock;
$ gcc -O -std=c99 -Wall -Wextra -pedantic -c x.c
$ 

x.c 中的代码显示correct style - 它包括声明变量的 header 以交叉检查变量的定义。您也可以毫无问题地向 x.c 中的定义添加初始值设定项。

我的结论是您过度简化了您的示例并在此过程中丢失了问题。

关于c - 如何在 C 中用 extern 声明一个指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4914676/

相关文章:

将可变长度结构复制到缓冲区

c++ - 错误 : cannot convert Elem to Elem* for argument 1 to void addHead(Elem*, 元素 *)

compiler-construction - 如何链接两个nasm源文件

objective-c - 仅 "extern const"与 "extern"

android - Android - JNI下 "extern"C是强制的吗?

内核模块的配置文件

c - 验证输入并再次询问是否无效

c - 局部和全局冲突时如何访问全局变量

c - C 中的内存分配和指针

c - 如何在不将其作为 C 函数的返回值的情况下修改 int 指针?