1. 程式人生 > >C語言學習Day4

C語言學習Day4

  • 陣列的地址與其第一個元素的地址相同。
  • 若s為陣列,t為指標,則&s==s,&t!=t
  • 指標衰變:當把一個數組賦值給指標變數時,指標變數只含有陣列的地址而不包含陣列的長度。因為編譯器在編譯時並不會給陣列分配記憶體,所以陣列的長度無法知曉。這種導致部分資訊丟失的現象,叫做衰變(pointer decay
  • array[0]==*array
  • 指標運算(pointer arithmetic) : array[i]==*(array+i)
  • 不同的指標型別運算的結果有差異,由於char佔一個位元組,所以char加1其地址會向下移一個位元組,而int佔四個位元組,所以int加1其地址會向下移四個位元組
  • 諸如3[doses]表現形式的轉換過程
doses[3]==*(doses+3)== *(3+doses)==3[doses]
  • 為什麼C語言中,陣列的元素從0開始計數?
    在支援指標的語言中,標號被視作是偏移量,因此從0開始更符合邏輯