2016-11-29 10 views
-1

いくつかの基本情報を含む構造体の配列を作成しようとしています。次のように私のコードです:構造体の配列を作成する

typedef struct { 
    char firstName[30]; 
    char lastName[30]; 
    char street[35]; 
    char city[20]; 
    char state[3]; 
    int zip; 
    char phone[15]; 
    int accountId; 
} Customer; 

int main(void) { 

int i, customer_number, _zip, _accountId; 
struct Customer customer_list[9]; 
char _firstName[30], _lastName[30], _street[35], _city[20], _state[3], _phone[15]; 


    for (i = 0; i < 10; i++) { 
     customer_number = 0; 
     printf("Enter data for customer %d: \n", customer_number); 
     printf("Enter First Last Phone: "); 
     scanf("%s%s%s", &_firstName, &_lastName, &_phone); 

     printf("\nEnter Address (Street City State ZIP): "); 
     scanf("%s%s%s%d", &_street, &_city, &_state, &_zip); 

     Customer customer_list[i] = {[i].firstName = _firstName} 

    } 

    return 0; 
} 

を、これは動作するはずのように思え、しかし、私は誰が正しい方向に私をプッシュすることができます「私は一定の値を持たなければなりません」というエラーを取得していますか?ありがとうございました!

+1

によって行われるべきです。 –

+0

主な問題を修正するようには見えませんでしたが、それは良い点です。私はすでに構造を早期に定義しているので、main関数の中で再度それを行う必要はありません。 – Froobyflake

+0

はい、mainのforループの最後の行に 'struct Customer'は必要ありません。 –

答えて

1
Customer customer_list[i] = {[i].firstName = _firstName} 

この行は

strcpy(customer_list[i].firstName, _firstName); 

EDITする必要があります:割り当てはちょうど `カスタマーcustomer_list`に`構造体カスタマーcustomer_list`を変更してみてくださいstrcpy()

+1

これは 'strcpy()'である必要があります。配列を割り当てることはできません。 –

+0

ああ、文字配列なので – Froobyflake

+0

'エラー:配列型の式への代入 ' – 4386427