構造体へのポインターを関数に渡して、構造体を編集したいと考えています。
これは動作しません:
typedef struct{
unsigned char x;
unsigned char y;
float z;
}C_TypeDef;
C_TypeDef *ptr_struct; //This is the part that I change to get it to work.
void print_TypeDef(C_TypeDef *report, unsigned char x_data)
{
report->x = x_data;
printf("x is equal to %d", report->x);
}
int main(void)
{
print_TypeDef(ptr_struct,0x23);
getchar();
}
ここで、これへのポインターを宣言する部分を変更しても、まだ機能しません。これは動作しません:
C_TypeDef x_struct;
C_TypeDef *ptr_struct;
ptr_struct = &x_struct;
しかし、これに変更すると、うまくいきます!!
C_TypeDef x_struct;
C_TypeDef *ptr_struct = &x_struct;
私の質問は、なぜ最初の 2 つが機能しないのですか? これは私を悩ませています。