#include?<stdio.h>/*
2018-05-28
如何通過被調函數修改主調函數普通變量的值1,實參必須為該普通變量的地址2,形參必須為指針變量3,在背調函數中通過*形參名?=?。。。。。的方式就可以修改主調函數相關變量的值*/f(int?*i,int?*j)
{*i?=?4;*j?=?5;return?0;
}int?main(void)
{int?a?=?3,b?=?5;f(&a,&b);?//發送a和b的地址到函數f,然后修改該地址的數值printf("a?=?%d,b?=?%d\n",a,b);}



#include?<stdio.h>/*指針和數組指針和一位數組一維數組名一維數組名是個指針常亮它存放的是一維數組第一個元素地址程序		printf("%#X\n",&a[0]);printf("%#X\n",a);輸出0X19FF2C0X19FF2C下標和指針的關系如果p是個指針變量,則p[i]?永遠等價于*(p+i)界定一個一維數組需要的幾個參數【如果一個函數需要一個一維數組,則需要接收該數組的那些信息】指針變量的運算	指針和二維數組*/
//________________________________________________________________________________________________
/*
//一維數組名
int?main(void)
{int?a[5];?//a是數組名,5是數組元素的個數,元素就是變量a[0]--a[4]//	int?a[3][4];?//3行4列?a[0][0]是第一個元素?a[i][j]是第i+1行j+1列printf("%#X\n",&a[0]);printf("%#X\n",a);return?0;
}
*//*
//下標和指針的關系
int?main(void)
{int?a[5]?=?{1,2,3,4,5};int?i;for?(i=0;?i<5;?++i){//printf("%d,%#X\n",?a[i],&a[i]);?//a[i]?==?*(a+i)//printf("%d,%#X\n",*(a+i),(a+i));//printf("%#X\n",a);?//a是一個地址}return?0;
}
*///——————————————————————————————————————————————————/*
//界定一個一維數組需要的幾個參數【如果一個函數需要一個一維數組,則需要接收該數組的那些信息】
//兩個,起始地址和數組長度
void?f(int?*p,int?len)
{int?i;for(i=0;i<len;i++){printf("%d,",*(p+i));	}printf("\n");	
}int?main(void)
{int?a[5]?=?{1,2,3,4,5};int?b[6]?=?{-1,-2,-3,-4,-5,-6};int?c[100]?=?{1,99,22,33};f(a,5);f(b,6);f(c,100);return?0;
}
*/
//_____________________________________________________________________________________
void?f(int?*p,int?len)
{p[3]?=?88;printf("%#X,%d\n",&p[3],p[3]);?//0X19FF38,88
}int?main(void)
{int?a[5]?=?{1,2,3,4,5};printf("%#X,%d\n",&a[3],a[3]);?//0X19FF38,4f(a,6);printf("%#X,%d\n",&a[3],a[3]);	//0X19FF38,88return?0;
}