将指针传递给函数

时间:2011-02-17 13:05:23

标签: c

这是我的功能原型

void classifier_rules(struct classifier *k, struct classifier *ptr_keys);

这就是我指定指针地址的方式

struct classifier keys,*ptr_keys;
ptr_keys = &keys;

我在另一个函数中调用了这个函数classifier_rules

classifier_rules(&(ptr->keys[pos]), &ptr_keys); 
here i get a error  ‘ptr_keys’ undeclared (first use in this function)

classifier_rules(struct classifier *rules, struct classifier ptr_keys )
{
 this is the body of function;

}

hHw要删除此错误,我希望传递密钥的地址失败,我可能会访问一些错误的内存位置

1 个答案:

答案 0 :(得分:1)

如果

struct classifier keys,*ptr_keys

在您的调用函数中,然后它应该工作。 (或者至少你应该得到一个不同的错误)。

你不应该传递& ptr_keys。

classifier_rules(&(ptr->keys[pos]), ptr_keys); 
//ptr_keys is already a pointer, you don't need to use a '&'