需要帮助理解char和int指针

pau*_*aul 3 c pointers

在此代码中打印intchar指针变量的值,为什么我以不同方式访问它们?对于char我写的指针,sampleclientint我写的*intid.为什么一个使用*但不使用另一个?

int main()
{
    char client[] = "ABCD";
    int intid = 10;

    samplepass(&client, &intid);

    return 0;   
}

void samplepass(char *sampleclient, int *intid)
{
    printf("%s %d\n", sampleclient, *intid);
}
Run Code Online (Sandbox Code Playgroud)

izo*_*ica 8

这是因为%s格式说明符需要一个char指针,而%d期望一个整数参数.如果你想看到指针本身的值(即它们指向的地址)使用%p.