新手C指针问题

时间:2011-07-28 16:56:36

标签: c pointers

    #include "stdio.h"

void Square(int num, int *myPointer);

int main(int argc, const char *argv[]) {
    int originalNum = 5;
    Square(originalNum, &originalNum);
    printf("%i\n", originalNum);
    return 0;
}

void Square(int num, int *myPointer) {
    *myPointer = num*num;
}

当originalNum是int时,我不明白如何传入& originalNum作为指针参数。谢谢!

4 个答案:

答案 0 :(得分:1)

originalNum是一个int。 &originalNum是指向originalNum的指针,因此是指向int或int *的指针。

简单来说,&originalNum是在内存中分配originalNum变量的地址。因此,当您通过&originalNum时,您不会传递5originalNum的值)。而是传递存储此5的地址。

答案 1 :(得分:1)

&表示:“地址”。 originalNum是一个int,因此&originalNumint*(指针)。

答案 2 :(得分:0)

originalNum是一个int,&originalNum是它的地址。这是int*类型。

答案 3 :(得分:0)

originalNum是一个int, & originalNum是指向int的指针 运营商&获取originalNum的地址,因此它创建一个指针。