次のような小さなコードがあります。
#include <stdio.h>
int *ptr1;
int *ptr2;
void some_function(void)
{
int B = 5;
ptr2 = &B;
}
main (){
int C, D;
int A =10;
int *ptr3;
ptr1= &A;
ptr3=ptr2;
some_function();
C = *ptr1 + *ptr2;
printf("Sum of the numbers C= %d\n",C);
some_function();
D = *ptr1 + *ptr3;
printf("Sum of the numbers D= %d\n",D);
}
D の結果が得られないのに、C の結果が得られるのはなぜですか? print ステートメント S の結果は得られますが、um of the numbers C=15
D の最後の print ステートメントの結果は得られません。ローカル ポインターとグローバル ポインターの違いは何ですか (ptr1 と ptr2 の両方がグローバルに定義され、ptr3 がローカルに定義されていることを意味します)。ポインタの割り当てはptr3=ptr2
有効ですか? ローカル変数 Vs へのポインターとの大きな違いはありますか。グローバル変数へのポインタ?