Я работаю над фрагментом кода, разработанным другими, и пытаюсь создать структуру c. Но при отладке кажется, что указатель равен нулю (не указывая на переменную, равную нулю):
typedef struct WiFiIP{
// Keep the following in order! (pri,sec)
uint16_t WiFiPrimaryPort;
uint16_t WiFiSecondaryPort;
// Keep the following in order! (pri,sec,sntp)
char WiFiPrimaryAddress[32];
char WiFiSecondaryIpAddress[32];
char WiFiSntpIpAddress[32];
};
static const struct WiFiIP WiFiIPs = {7781,7781,"10.0.0.1","",""};
static const __typeof__ (WiFiIPs.WiFiPrimaryPort)
* const PortPtr = &WiFiIPs.WiFiPrimaryPort;
static const __typeof__(WiFiIPs.WiFiPrimaryAddress)
*AddressPtr = &WiFiIPs.WiFiPrimaryAddress;
Так что AddressPtr
и PortPtr
равны 0x0
.
Я знаю Есть ряд других методов для «жесткого» кодирования параметров в коде, но в этом случае существующий код ожидает указатель на структуру, и я хотел бы избежать рефакторинга.
Пожалуйста, будьте осторожны, я никогда Я был хорош с указателями, и я знаю, что есть много литературы по указателям. Я искал и следовал ряду примеров, но не могу заставить его работать.
Этот код разрабатывается для процессора Cortex-M3