Liên minh loại đánh giá cho một đối tượng của kiểu đó; tên là một biểu hiện lvalue. Một tên enu-meration liên tục đánh giá giá trị liên quan đến số nguyên; nó không phải là một lvalue.Ví dụTrong ví dụ sau đây, bốn màu tên là liệt kê hằng số. Các báo cáo chuyển đổi (được mô tả trong phần 8.7) chọn một trong bốn câu để thực hiện dựa trên giá trị của tham số màu:typedef enum {đỏ, màu xanh, màu xanh lá cây} colortype;colortype next_color (colortype màu){chuyển đổi (màu) {}trường hợp màu đỏ; trả lại màu xanh;Case blue: trở lại màu xanh lá cây;trường hợp màu xanh lá cây: trở lại đỏ;}}Tên của một mảng đánh giá vào mảng đó; nó là một lvalue, nhưng không sửa đổi. Un¬Less các mảng là tham số để sizeof, đối số cho các nhà điều hành địa chỉ (&), hoặc là một loạt các nhân vật được khởi tạo bởi một chuỗi liên tục, giá trị mảng chuyển đổi sang một con trỏ đến đối tượng đầu tiên trong mảng là một phần của các chuyển đổi unary thông thường.Ví dụChuyển đổi của một tên mảng để một con trỏ không xảy ra khi các mảng là tham số để sizeof, do đó, kết quả là kích thước của các mảng và không kích thước của một con trỏ.extern void PrintMatrix0;int ma trận [10] [10], total_length, row_length;total_length = sizeof ma trận; row_length = sizeof ma trận [0];PrintMatrix(Matrix); / * con trỏ đến đầu tiênyếu tố được thông qua * /Tên của một chức năng đánh giá chức năng đó; nó không phải là một lvalue. Trừ khi func¬tion tên là đối số của các nhà điều hành địa chỉ (&) hoặc đối số cho sizeof, tên chuyển đổi sang một con trỏ đến các chức năng như một phần của các chuyển đổi unary thông thường. Kết quả của &£ là một con trỏ đến f, không phải là một con trỏ chỉ tới một con trỏ đến f, và sizeof (f) là không hợp lệ.Ví dụVí dụ này cho thấy một tên chức năng được sử dụng như là đối số một chức năng:
đang được dịch, vui lòng đợi..
![](//viimg.ilovetranslation.com/pic/loading_3.gif?v=b9814dd30c1d7c59_8619)