eliucheng 发表于 2008-5-7 09:26:01

數組與指針

void Add(char *Ptr1, char Length)
{
   while(Length != 0x00)               
   {
      *Ptr1 += 0x05;               
      Length--;                       
      Ptr1++;                       
   }
}

void main(void)
{
   char Array[] = {0,1,2,3,4};        //define and initialize array
   char *APtr = Array;                //define and init pointer to array

   Add(Array,5);                        //call function using array variable
   Add(APtr,5);                        //call function using pointer
   Add(&Array,5);                //call function using array element
}

   Add(Array,5);                        //call function using array variable
   Add(APtr,5);                        //call function using pointer
   Add(&Array,5);                //call function using array element
有什麽不同?請介紹謝謝

haizaolan 发表于 2008-5-7 12:19:59

是一样的啊!只是用了三种表达方式而已,谭浩强的书中对此论述非常明确的!

mljda 发表于 2008-5-7 12:35:50

array[]
array-->本质就是一个地址

char *APtr = Array;
APtr字节空间地址指针,并赋值为Array

&array--->&取址运算符,就的array的地址,分解就是Array+0

APtr==Array==&Array

不过一般不用取零地址Array,这会被笑话的。它就是Array

yangyongwen 发表于 2008-5-7 19:22:29

我前几天正在看C的指针,刚好看了这一张,我上机,试了一下,没有差别的.
页: [1]
查看完整版本: 數組與指針