C 我有一个接受地址的函数,但我想打印变量的值。。我该怎么办?

C 我有一个接受地址的函数,但我想打印变量的值。。我该怎么办?,c,pointers,C,Pointers,在上面的代码中,response\u code是和整数,该函数只包含指针或变量的地址。 但是我想传递响应代码的int值,比如说25,而不是它的地址。 我该怎么做 您可以将response\u code转换为int*,但我认为您正在走向痛苦的道路——如果方法需要指针,您应该给它一个指针。 (goto也是一个指向痛苦的路标) e、 g 为什么?为什么不能创建一个int resp_code=25并将&resp_code传递给函数?goto很糟糕,真的很糟糕@Phong,不总是坏的。根据整个功能,这可能

在上面的代码中,
response\u code
是和整数,该函数只包含指针或变量的地址。 但是我想传递响应代码的int值,比如说25,而不是它的地址。
我该怎么做

您可以将
response\u code
转换为
int*
,但我认为您正在走向痛苦的道路——如果方法需要指针,您应该给它一个指针。 (goto也是一个指向痛苦的路标)

e、 g


为什么?为什么不能创建一个
int resp_code=25
并将
&resp_code
传递给函数?goto很糟糕,真的很糟糕@Phong,不总是坏的。根据整个功能,这可能是良好的
goto
示例。
if (rc_avpair_add(rad_config, &send, PW_FS_RESPONSE_CODE,
                  &response_code, -1, PW_FS_PEC) == NULL)
{
    switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session),
                      SWITCH_LOG_ERROR,
                      "failed adding Freeswitch-Response-code: %u\n",
                      response_code);
    rc_destroy(rad_config);
    goto end;
}
if (rc_avpair_add(rad_config, &send, PW_FS_RESPONSE_CODE,(int*)response_code, -1, PW_FS_PEC) == NULL)