上課學到pointer
很多人聽不太懂,手邊剛好有寫個測試程式
分享給大家,程式碼有點冗長
都是為了直接看結果方便之原故
之後如果有搭配array的使用,我會再發一篇
敬請期待
環境:Microsoft Visual C++ 6.0
#include “stdafx.h”
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{
int a=3,b=5,*pn1,*pn2,**ppn;
pn1=&b;
pn2=&a;
printf(“指令:\n\tint a=3,b=5,*pn1,*pn2,**ppn;\n\tpn1=&b;\n\tpn2=&a;\n\n結果:\n”);
printf(“a=%-3d &a=%p \n”, a ,&a);
printf(“b=%-3d &b=%p \n”, b ,&b);
printf(“*pn1=%-3d &*pn1=%p &pn1=%p pn1=%p \n”, *pn1 ,&*pn1 ,&pn1 ,pn1);
printf(“*pn2=%-3d &*pn2=%p &pn2=%p pn2=%p \n”, *pn2 ,&*pn2 ,&pn2 ,pn2);
printf(“指令:\n\t*pn1=100;\n\n結果:\n”);
*pn1=100;
printf(“*pn1=%-3d &*pn1=%p &pn1=%p pn1=%p \n”, *pn1 ,&*pn1 ,&pn1 ,pn1);
printf(“*pn2=%-3d &*pn2=%p &pn2=%p pn2=%p \n”, *pn2 ,&*pn2 ,&pn2 ,pn2);
printf(“a=%-3d &a=%p \n”, a ,&a);
printf(“b=%-3d &b=%p \n”, b ,&b);
ppn=&pn1;
printf(“指令:\n\tppn=&pn1;\n\n結果:\n”);
printf(“**ppn=%-3d &**ppn=%p *ppn=%p\n&*ppn=%p &ppn=%p ppn=%p \n”
, **ppn ,&**ppn ,*ppn , &*ppn, &ppn, ppn);
system(“PAUSE”);
return 0;
}