bên trong một định nghĩa như thế nàyĐịa chỉ của một mảng được khai báo bên trong một cấu trúc mới
typedef struct
{
myType array[N];
} myStruct;
myStruct obj;
thể tôi luôn luôn giả thiết rằng ([sửa] giả đúc thích hợp sẽ xảy ra mà không phải là trọng tâm của câu hỏi ở đây [/ chỉnh sửa ])
(&obj == &obj.array[0])
sẽ trả về TRUE hoặc tôi nên lo lắng về trình biên dịch giới thiệu thêm đệm để chứa các điều kiện căn chỉnh myType? Về lý thuyết, điều này không nên xảy ra vì cấu trúc có một trường đơn lẻ nhưng tôi không hoàn toàn chắc chắn về điều này.
C và C++ là ** ngôn ngữ ** khác nhau và so sánh mang lại các loại khác nhau trong cả hai. Nhưng không ai trong số họ có một hằng số chuẩn hoặc macro có tên 'TRUE'. – Olaf
Tôi khuyên bạn nên sử dụng 'obj.array' nếu bạn muốn tham chiếu đến mảng và' obj.array [0] 'nếu bạn muốn tham chiếu đến phần tử đầu tiên trong mảng. Sử dụng 'obj' để truy cập mảng sẽ khó hiểu hơn đối với người ngoài. – jboockmann
Không chắc chắn về C nhưng trong C++ có thể không có đệm trước biến thành viên đầu tiên. – NathanOliver