2011-07-28 26 views
1
#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; 
} 

元番号がintの場合、& originalを渡すことはできません。ありがとう!初心者Cポインタ質問

答えて

1

originalNumはintです。 &originalNumoriginalNumへのポインタであり、したがってintへのポインタまたはint *です。

簡潔に言えば、&originalNumは、originalNum変数がメモリに割り当てられているアドレスです。したがって、&originalNumに合格すると、5originalNumという値)は渡されません。代わりに、この5が格納されているアドレスを渡します。

1

&は、「アドレス」を意味します。 originalNumはintなので&originalNumint*(ポインタ)です。

0

originalNumはintであり、&originalNumがそのアドレスです。これはタイプint*です。

0

originalNumは & originalNumがint オペレータ&上のポインタであるoriginalNumのアドレスを受け取り、int型なので、ポインタを作成します。