将char指针传递给函数错误

时间:2012-04-27 14:18:10

标签: c function pointers char

您好我在尝试将char传递给函数时遇到错误。 这是我的代码。

可变

char *temp;

原型

int checkIfUniqueCourseNo(char,int);

呼叫

checkIfUniqueCourseNo(temp,k);

和我的错误

warning: improper pointer/integer combination: arg #1

我是C的新手,所以对我很轻松:)

3 个答案:

答案 0 :(得分:2)

您的函数接受char;你试图传递char*

要解决此问题,您需要dereference指针来获取它指向的字符,以便您的函数接收它所期望的参数类型:

checkIfUniqueCourseNo(*temp,k);

答案 1 :(得分:0)

如果函数超出char,则应取消引用指针:

checkIfUniqueCourseNo(*temp,k);
//                    ^ pass the char addressed by temp

答案 2 :(得分:0)

您的变量是char*(字符指针),但该函数采用char(不是指针)。

如果要将temp的内容传递给该函数,请使用checkIfUniqueCourseNo(*temp, k)。如果您确实想要传递指针本身,请将该函数声明为

int checkIfUniqueCourseNo(char*,int);