typedef 構造体が配置されているファイルの外部で使用する方法を知りたいです。つまり、私はこれを持っています:
「rtc_i2c.c」というファイルには、------------------------------------
#include "rtc_i2c.h"
struct time_date_str
{
char year;
char month;
char date;
char day;
char hour;
char minute;
char second;
};
int RTCGetTime(TimeDate *timdatstrptr)
{
timdatstrptr -> second = 0x12;
return 0;
}
次に、「rtc_i2c.h」というファイルに -------------------------------
#ifndef RTC_I2C_H
#define RTC_I2C_H
typedef struct time_date_str TimeDate;
#endif
そして、「main.c」には ------------------------------------------ --------
#include "rtc_i2c.h"
TimeBase *TimeDateData;
void main(void)
{
char DateTimeASCII[20];
RTCGetTime(TimeDateData);
DateTimeASCII[0] = ????????
}
次に、コードにステップインすると、RTCGetTime に入り、ウォッチ ウィンドウで、「timdatstrptr -> second = 12」割り当てが正しく実行されていることを確認できます。しかし、問題は外側です。???????? のスペースに "TimeDateData --> second" を入れると、コンパイラはエラーを生成します。したがって、グローバルに定義された配列の内容にポインターを介してアクセスする方法がわかりません。
私が理解していれば、「TimeBase *TimeDateData」として宣言されたポインターは私の配列を指しており、ポインターであるため「-->」でアクセスされます。私が間違っている?これはどのように作動しますか?
誰でも私を助けてもらえますか?ありがとう!!