C言語でパラメータを参照渡しする方法を理解しようとしています。そこで、パラメーターの受け渡しの動作をテストするために、次のコードを書きました。
#include <stdio.h>
#include <stdlib.h>
void alocar(int* n){
n = (int*) malloc( sizeof(int));
if( n == NULL )
exit(-1);
*n = 12;
printf("%d.\n", *n);
}
int main()
{
int* n;
alocar( n );
printf("%d.\n", *n);
return 0;
}
ここに印刷されています:
12. 0.
例 2:
#include <stdio.h>
#include <stdlib.h>
void alocar(int* n){
*n = 12;
printf("%d.\n", *n);
}
int main()
{
int* n;
n = (int*) malloc(sizeof(int));
if( n == NULL )
exit(-1);
alocar( n );
printf("%d.\n", *n);
return 0;
}
それは印刷しました:
12. 12.
この 2 つのプログラムの違いは何ですか?