2013-11-25 112 views
2

在Deitel公司的書約C結構,有這樣一個問題:C結構運營商

struct customer { 
    char lastName[ 15 ]; 
    char firstName[ 15 ]; 
    int customerNumber; 
     struct { 
      char phoneNumber[ 11 ]; 
      char address[ 50 ]; 
      char city[ 15 ]; 
      char state[ 3 ]; 
      char zipCode[ 6 ]; 
      } personal; 

} 
    customerRecord, *customerPtr; 
    customerPtr = &customerRecord; 

,問題是:

結構成員的個人會員phoneNumber的通過customerPtr指出。?

答案的解決方案手冊:

customerRecord->personal.phoneNumber 

是解決方案嗎? customerRecord不是指針,而是使用箭頭。我想答案一定是這樣的:

customerPtr->personal.phoneNumber 

什麼混淆我是,這是一個基本的東西,也許我沒有得到它的權利呢。

感謝

+3

你是對的.. !! –

回答

3

你是正確的,這是需要的「箭頭」操作符->指針(在你的情況customerPtr)結構。另一個(customerRecord)將使用正常的點運算符。

+0

這個怎麼樣,這個工作? '(&customerRecord) - > personal.phoneNumber' –

+0

@BitFiddlingCodeMonkey是的,這將工作,因爲那時你有一個指向結構的指針。 –