我有使用指針2層結構沒有影響,形成一個鏈表,我創建了這些工種操作:聲明與指針
typedef struct hashtag {
char *text;
int count;
} *Item;
typedef struct node {
Item item;
struct node *next;
} *link;
我在與所有的指針一對夫婦的問題相同的功能。
/* adds hashtag (Item Type) to linked list (Link Type) */
void add_hashtag(char *word){
int search_result, i;
for (i = 0; i < strlen(word); i++)
/* converts word to all lowercase before adding */
token[i]=tolower(*(token + i));
Item buffer = (Item) malloc(sizeof(struct hashtag));
strcpy(buffer->text,word);
/* Runs through the list to see if the hashtag was already added */
search_result = (search_hashtag(head, buffer));
if (search_result!=NULL){
/* Increase count (occurrence) of hashtag if it already exists (returns link type or NULL if not found) */
increase_hashtag_count(search_result);
}
/* Create new struct type hashtag */
new_hashtag(buffer);
}
警告:賦值時將指針整數,未作施放[-Wint轉換] search_result =(search_hashtag(頭,緩衝液));
警告:(!search_result = NULL)指針和整數 如果進行比較{
的tolower()
功能和search_result()
不與指針正常工作,而且我無法調試這一點。
編輯:tolower()
固定的,我誤讀的文檔
[請參閱此討論關於爲什麼不在'C'中投射'malloc()'和家族的返回值。](http://stackoverflow.com/q/605845/2173917)。 –
'int search_result'但它需要一個指針。 'strcpy(buffer-> text,word);':'buffer-> text'不分配。 – BLUEPIXY