我试图将指针存储在向量中,但是向我显示一条警告消息:
p.c: In function ‘main’:
p.c:22:6: warning: assignment from incompatible pointer type [enabled by default]
V[0] = number;
我看到了什么信息意味着,但我无法修复错误。 我不确定向量声明或结构是否错误(或两者都有)!
感谢您的帮助!
只是一个例子:
#include <stdio.h>
#include <stdlib.h>
void show(int *V[]);
struct age{
int age;
struct age *next;
};
typedef struct age Age;
int main(){
int *V[3]; // Vector with 3 positions to store pointers
Age* number = (Age *) malloc(sizeof(Age));
number->age = 20;
number->next = NULL;
V[0] = number;
show(V);
return 0;
}
void show(int *V[])
{
printf ("\n%p\n",V[0]);
}
答案 0 :(得分:0)
我认为问题是V数组是一个int数组,因为它应该是Age的数组。
你应该像那样实现它:
Age *V[3];
我希望它能帮助:)。
(如果你只想要一个通用指针数组,请使用void*
,但我不适合这个问题)