使用下面代码中的指针打印2个变量的数据

时间:2017-02-22 13:58:06

标签: c pointers

我有以下代码:

#include <stdio.h>
#include <stdlib.h>

int *p;

int main() {
    int a = 4, b = 8;

    p = &b;

    //TODO: fill in the blank
    printf("a = %ld\n", /*Fill in here */);
    printf("b = %ld\n", /*Fill in here */);

    return 0;
}

如何仅使用a打印2个变量bp的值才能访问它们?

1 个答案:

答案 0 :(得分:1)

通常,您无法使用当前的代码/方法执行此操作。

C标准中没有任何内容可以保证两个或多个自变量的内存分配策略,因此无法进行上一次下一次内存位置跟踪。没有确定性的方法来推断a的价值,访问p

如果您需要从单个指针访问多个变量(相同类型)的值,请考虑创建一个数组,其中元素保证位于连续的内存位置,因此指针算法是有意义的,我们可以确定性地达到上一个元素。