C のリストに問題があります。
私はこの構造体を作りました:
typedef struct str {
char * str;
struct str * prox;
struct str * ant;
} cadena;
次に、主に、NULL への最初のポインターでリストを開始します。
cadena * lista = NULL;
次に、ユーザーがリスト ("str" メンバー内の文字列) に新しい要素を追加できる関数を作成し、ポインターを管理してリストを作成します。それはうまくいくようです。私は願います。
しかし、あるノードのメンバーを印刷したい場合、次のようなものを使用しようとしていますが、機能していません:
void showdata (cadena *lista) {
int i=0;
while (lista.str[i] != '\0')
{
printf("%c\n",str[i]);
i++;
}
}
次のエラーが表示されます。
from line "while (lista.str[i] != '\0')"
.error: request for member ‘str’ in something not a structure or union
(なぜ構造体を期待しているのですか?私はそこでメンバーにアクセスしていると思いました)
from line "printf("%c\n",str[i]);"
.error: ‘str’ undeclared (first use in this function)
(構造体で宣言していませんか?)
私は確かに本当に間違ったことをしていますが、char メンバーにアクセスして出力する正しい方法を理解できません。
前もって感謝します。