*** Tên trường của struct có thể trùng với các tên của struct và đó không phải là vấn đề, mặc dù nó có thể gây khó khăn trong việc đọc và hiểu chương trình. Ví dụ thế này →
1 2 3 4 5 |
struct STRUCT { int STRUCT; } Structure; Structure.STRUCT = 0; /* STRUCT is a field name here */ |
*** Đối với trường hợp tên của biến trùng với tên struct thì tùy theo trình biên dịch, có thể có những trình biên dịch không cho phép điều đó. Vì vậy tốt nhất là nên tránh việc khao báo tên biến trùng với tên struct như ví dụ dưới đây →
1 2 3 4 5 6 7 |
struct STR { int field; } Structure; int STR; Structure.field = 0; STR = 1; |
1 2 3 4 5 6 7 8 9 10 |
struct { int f1; } str1; struct { char f1; } str2; str1.f1 = 32; str2.f1 = str1.f1; |