Closed. This question is off-topic。它当前不接受答案。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
3年前关闭。
我再次遇到C编程问题。我有一个函数,基本上有一个结构元素数组作为参数,现在我想在数组中打印所有这些元素的列表。但我没有这样做的语法。
ANLAGE是具有一些float和int值以及一些char数组的结构
anlage_arr的初始化如下:
我的函数现在看起来像这样:
然后我这样调用函数:
当我这样做时,我只是得到一些随机值,我猜是这些值的地址。但是有人可以帮助我如何获取数组中元素的实际值吗?
先感谢您!
第一个参数的类型是
但是该函数希望第一个参数的类型为
因此像这样调用函数
还应考虑到,如果您要处理一个具有多个元素的数组,请使用此语句
写类似
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
3年前关闭。
我再次遇到C编程问题。我有一个函数,基本上有一个结构元素数组作为参数,现在我想在数组中打印所有这些元素的列表。但我没有这样做的语法。
ANLAGE是具有一些float和int值以及一些char数组的结构
typedef struct{
unsigned int InventarNr;
char Anlagenbez[15];
char Standort[15];
float Basiswert; /* in EUR */
unsigned int Nutzdauer; /* in Jahren */
unsigned int AnschJahr;
} ANLAGE;
anlage_arr的初始化如下:
ANLAGE *anlage_arr;
anlage_arr = malloc(sizeof(ANLAGE));
我的函数现在看起来像这样:
int erstelle_anlagenliste(ANLAGE *anlage_arr, size_t size) {
int i;
for(i = 0; i < size; i++){
printf("%-15d%-20s%-20s%.1f%-15d%-15d%\n",
anlage_arr[i].InventarNr,anlage_arr[i].Anlagenbez,
anlage_arr[i].Standort, anlage_arr[i].Basiswert,
anlage_arr[i].Basiswert, anlage_arr[i].AnschJahr);
}
return 1;
}
然后我这样调用函数:
erstelle_anlagenliste(&anlage_arr, size);
当我这样做时,我只是得到一些随机值,我猜是这些值的地址。但是有人可以帮助我如何获取数组中元素的实际值吗?
先感谢您!
最佳答案
在这次通话中
erstelle_anlagenliste(&anlage_arr, size);
第一个参数的类型是
ANLAGE **
,因为变量anlage_arr
的声明像ANLAGE *anlage_arr;
但是该函数希望第一个参数的类型为
ANLAGE *
int erstelle_anlagenliste(ANLAGE *anlage_arr, size_t size) {
因此像这样调用函数
erstelle_anlagenliste( anlage_arr, size);
^^^^^^^^^^
还应考虑到,如果您要处理一个具有多个元素的数组,请使用此语句
anlage_arr = malloc(sizeof(ANLAGE));
写类似
anlage_arr = malloc( size * sizeof(ANLAGE));
关于c - 我如何使用C中的指针的指针? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40575690/
10-10 15:21