一些麻煩列出我做了這個結構:主
typedef struct str {
char * str;
struct str * prox;
struct str * ant;
} cadena;
然後我開始列表其第一個指針指向NULL。
cadena * lista = NULL;
然後我做了一個功能,用戶可以(在「海峽」成員弦)新元素添加到列表和我管理的指針,以生成列表。這似乎工作確定。我希望。
但是,當我想打印一個節點中的一員,它我試圖用這樣的事情,而且它不工作:
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)
(是不是與申報struct?)
我確實在做一些非常錯誤的事情,但我無法理解哪一個是訪問char成員並打印它的正確方法。
預先感謝您。
我正要在這裏發表評論,並將第一個正確答案留作解決方案。但我需要改變這個問題的最佳答案。你是正確的第一個答案(謝謝大家!!),但你也留下了很多有用的信息。就像在這種情況下如何使用「點」一樣。非常感謝。在C中管理列表對我來說很難,因爲我無法清楚地「看到」發生了什麼。而且因爲我剛剛開始用C編程,今年在大學裏。 – LeanDroid