完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
file1.c 定义一个u8 RTC_SET[]="The First time Set RTC Timer";并在file1.h中extern u8 RTC_SET[]; 在file1.c中引用uart1_senddata(RTC_SET,sizeof(RTC_SET));正常
但在file2.c (包含file1.h),此时引用uart1_senddata(RTC_SET,sizeof(RTC_SET));编译通不过;问题出在sizeof(RTC_SET)中, 讨论:要用指针怎么引用,一般在file2.c引用file1.c中的字符串数组是怎么操作的? |
|
相关推荐
1个回答
|
|
在C语言中,当你想要在多个文件之间共享一个字符串数组时,你需要遵循以下步骤: 1. 在file1.c中定义字符串数组,并在file1.h中声明它为外部变量。 file1.c: ```c #include "file1.h" u8 RTC_SET[] = "The First Time Set RTC Timer"; ``` file1.h: ```c #ifndef FILE1_H #define FILE1_H extern u8 RTC_SET[]; #endif ``` 2. 在file2.c中包含file1.h头文件,以便访问RTC_SET数组。 file2.c: ```c #include "file1.h" ``` 3. 在file2.c中使用RTC_SET数组。由于你提到的问题是在`sizeof(RTC_SET)`中,我们需要特别注意这一点。`sizeof`操作符在这种情况下可能无法正确地获取字符串数组的长度,因为它可能会包括字符串末尾的空字符(' |