これはかなり基本的な質問かもしれませんが、私は C の初心者なので、ご容赦ください。
私はこれに出くわしたCで書かれたファームウェアのいくつかのドキュメントを調べています:
typedef struct {
int x;
int arr[10];
} sx;
次に、その型へのポインターが渡される関数があります。
int f(sx xtype *sp, int i){
return sp -> arr[i];
}
私のJavaの経験から、最初のスニペットはJavaのオブジェクトクラスによく似たスーパークラスと同等であり、2番目のスニペットはsxのサブクラスを使用していると思います。しかし、よくわかりません。誰でも確認できますか?これまでの私の小さな C の経験から、型へのポインターを渡すためのより理解しやすい方法は次のようになると思います。
typedef struct xtype {
int x;
int arr[10];
} sx;
int f(sx *sp, int i){
return sp -> arr[i];
}
しかし、私はこの写真から何かが欠けているのではないかと疑っています. 前もって感謝します!