在C中取消引用指针数组

时间:2017-03-19 14:00:26

标签: c arrays pointers dereference

我在此代码段中遇到问题 printf("\nIn Func: %s", (*article[ctr]).artname);

我使用Code:Blocks并获得错误“未定义引用WinMain @ 16”,文章是一个指针数组,我不应该通过解除引用来访问它吗?我也试过 - >但没有成功。

我可以不服从吗?

感谢您的帮助,我在下面添加了完整的代码。

页眉文件:

#ifndef _LAGER_H
#define _LAGER_H

#define MAXCHAR 40

#define lagerdateiname "lager.dat"


struct artikel_t
{
  int artnr;
  char artname[MAXCHAR];
  float preis;
  int bestand;
  int min;
};

#endif

代码文件:

#include "lagdat.h"
#include <string.h>

#include <stdio.h>

int bestellMenge(struct artikel_t *article[], int len)
{
    int errCode;
    int retVal;
    int ctr = 0;
    struct artikel_t art;

    unsigned int writtenArticles = 0;
    unsigned int leftArticles = 0;

    errCode = openLager();



    if(!errCode)
    {
        int readOK;

        while(!(readOK = readNext(&art)) && ctr < len)
        {
            if(art.bestand < art.min)
            {
                article[ctr] = &art;
                ctr++;
                writtenArticles++;


                printf("\nIn Func: %s", (*article[ctr]).artname);
            }
        }

    }

}

1 个答案:

答案 0 :(得分:0)

你必须在ctr ++之前打印,如下所示。目前,您正试图将文章对象指向您未填充的内容

$ git remote add repoa <repo-a-url>     # add a new remote repoa = repo-a-url
$ git fetch repoa                       # sync with repoa

$ git checkout repoa/master c.txt       # checkout the file to 'repoa' 'master' branch

$ git log --numstat --oneline c.txt     # show the change lists of c.txt file