Nếu i và j là các biến số nguyên, câu lệnh i = J--; có thể được viết lại như hai state¬ments
i = j; ■ j j-1;
Các hoạt động này có thể tạo ra các hiệu ứng khó lường nếu tràn xảy ra và các op-erand là một số nguyên ký hoặc số dấu chấm động. Kết quả của cách tăng giá trị biểu diễn lớn nhất của một loại unsigned là 0, và kết quả của giảm các giá trị 0 của một loại nguyên unsigned là giá trị biểu diễn lớn nhất của loại hình đó.
Nếu phép toán là một con trỏ, nói kiểu "con trỏ đến T "cho một số loại T, tác dụng của ++ là để di chuyển con trỏ về phía trước vượt ra ngoài đối tượng được trỏ tới, như để di chuyển con trỏ đến phần tử tiếp theo trong một mảng của các đối tượng kiểu T. (Trên một máy tính có địa chỉ byte , điều này có nghĩa là thúc đẩy con trỏ bằng sizeof IT) byte) Tương tự như vậy, các hiệu ứng o, f -. - là để di chuyển con trỏ về phía sau nếu để các phần tử trước đó trong một mảng của các đối tượng kiểu T. Trong cả hai trường hợp, giá trị của biểu hiện là các con trỏ trước khi sửa đổi.
Ví dụ
Nó là rất phổ biến để sử dụng toán tử postfix increment khi quét các phần tử của một ar¬ray hoặc chuỗi, như trong ví dụ này đếm số lượng các ký tự trong một chuỗi:
int StringLength (const char * cp)
{
int đếm 0;
while (* cp ++) count ++;
count return;
}
Tham khảo thêm 7.6.2; các loại mảng 5.4; chuyển đổi chuyển nhượng 6.3.2; loại nổi-điểm 5.2; loại nguyên 5.1; giá trị trái 7,1; tràn 7.2.2; các loại con trỏ 5.3; loại vô hướng Ch. 5; loại ký 5.1.1; trừ 7.6.2; loại unsigned 5.1.2; chuyển đổi nhị phân thông thường 6.3.4
7.4.5 Compound Literals
C99 giới thiệu literals hợp chất như là một cách để thể hiện hằng không tên của loại tổng hợp. Một literal hợp chất bao gồm một loại tên trong ngoặc theo sau bởi một danh sách initializer chứa trong dấu ngoặc. Có thể có một dấu phẩy dấu tùy chọn sau khi khởi tạo, danh sách.
hợp chất-đen:
(type-name) {initializer-list, opt) (C99)
Một hợp chất đen tạo ra một đối tượng không rõ tên của các loại được chỉ định và trả về một giá trị trái với đối tượng đó . Tên loại có thể xác định loại đối tượng hay một loại mảng với kích thước un tiếng. Các loại mảng có chiều dài biến có thể không được sử dụng trong literals hợp chất kể từ khi họ có thể không được khởi tạo. Cấu trúc, công đoàn, mảng, và đếm các loại sẽ có vẻ là hữu ích nhất trong một hợp chất đen. Các định dạng và ý nghĩa của danh sách khởi tạo là giống như sẽ được cho phép trong initializer về một tuyên bố của một đối tượng cùng loại
và mức độ. Đặc biệt, điều này có nghĩa là các thành phần của hợp chất chưa được khởi tạo chữ được khởi tạo bằng không (xem phần 4.6).
Các loại vòng loại const có thể được sử dụng trong các loại tên một hợp chất đen để tạo ra một chỉ đọc chữ; nếu không theo nghĩa đen là sửa đổi. Nếu hai chỉ đọc chữ hợp chất có các loại và giá trị như nhau, sau đó thực hiện một là miễn phí để sử dụng lại cùng một lưu trữ cho họ. Đó là, địa chỉ của họ có thể không có khác nhau, như là trường hợp cho lit¬erals chuỗi trùng lặp.
đang được dịch, vui lòng đợi..
