返回C中的结构指针

时间:2017-03-31 09:53:07

标签: c pointers struct

请你帮我纠正我的代码:

这是一个返回指向struct item的指针的函数:

struct item* findItem(const char* key) {
    for (int i = 0; i < nItems; i++) {
        if (!strcmp(items[i].key, key)) { return &items[i]; }
    }
    return NULL;
}

从main函数,我想检索我的struct值如下:

struct item search_items = findItem(&key) ; // I have problem with this line 
char* itemValue;
if (search_items != NULL)
{
    itemValue = search_items->value;
}

如何检索结构并将其保存以用于main函数?

1 个答案:

答案 0 :(得分:3)

如果从函数返回指针,则必须将其作为指针读取。 请注意struct item* search_items部分代码和我的代码{我添加了指针*

struct item* search_items = findItem(&key) ; // i have problem with this line 
char* itemValue;
if ( search_items != NULL)
{
    itemValue = search_items->value;
}