如何打印指针从数组指向的值

时间:2015-11-15 14:57:50

标签: c arrays pointers

如标题所示。我试图打印出一个指针所指向的值但却没有运气的值。下面的代码显示我指定一个指向数组中随机位置的指针。

//Assign a pointer to a random location in array 
int val = rand() % 6;
int* p = &a[val];

到目前为止,这是唯一可行的,但它只是打印出内存中的位置,当我需要值printf("%p", &p);时,我又如何打印指针指向的值?

修改:我的数组声明为int a[6];,我就这样填充:

for (int i = 5; i >= 0; i--)
{
    a[i] = pal_num % 10;
    pal_num /= 10;
}

其中pal_num是一个6位数字

编辑2:调用函数print_status

while (!is_pal(a))
{
    if (!is_pal(a))
    {
        print_status(a, num_mov, p);
        ask_for_command(p, num_mov);
    }

1 个答案:

答案 0 :(得分:2)

取消引用指针,如下所示:

printf("%d", *p);

指针上的运算符*与运算符&相反。