2013-03-19 32 views
6

Trong các chức năng sau:Loại dữ liệu 'ngắn' trong C là gì?

void AddWordData(FILE* dataFile, short word, int* dc) 
{ 
    fprintf(dataFile, "%06o\n", word); 
    ++(*dc); 
} 

chức năng nhận được loại ngắn. Tôi đã thực hiện một số tìm kiếm trên web nhưng chỉ tìm thấy int ngắn. có nghĩa là gì khi một hàm nhận được một kiểu ngắn? loại dữ liệu là gì?

+2

Giống như int ngắn. –

+0

Một câu hỏi khác xuất hiện trong đó, những gì được in chính xác khi viết "% 06o \ n" – Yuval

+2

'% 06o \ n' Điều này sẽ thêm 6 đệm' 0 'và in' từ' trong 'bát phân' với dấu ngắt dòng (' ' \ n'') ở cuối. –

Trả lời

14

short viết tắt là short int. Họ là đồng nghĩa. short, short int, signed shortsigned short int đều là cùng loại dữ liệu. Chính xác có bao nhiêu bit đang ở trong một short phụ thuộc vào trình biên dịch và hệ thống, nhưng nó là cần thiết để có at least 16 bits:

Bất kỳ trình biên dịch phù hợp với các tiêu chuẩn cũng phải tôn trọng các giới hạn sau liên quan đến phạm vi giá trị bất kỳ loại cụ thể có thể chấp nhận. Lưu ý rằng đây là những giới hạn thấp hơn: việc triển khai miễn phí vượt quá bất kỳ hoặc tất cả những điều này. Cũng lưu ý rằng phạm vi tối thiểu cho một char phụ thuộc vào việc một char được coi là ký hoặc chưa ký. ... ngắn int: -32767 đến +32767.

Thêm từ Wikipedia:

Kích thước thực tế của các loại nguyên thay đổi theo thực hiện. Việc bảo đảm duy nhất là dài dài không nhỏ hơn dài, mà không phải là nhỏ hơn int, mà không phải là nhỏ hơn ngắn. Ngoài ra, int nên là loại số nguyên mà bộ xử lý đích hiệu quả nhất khi làm việc. Điều này cho phép sự linh hoạt tuyệt vời: ví dụ, tất cả các loại có thể là 64-bit. Tuy nhiên, chỉ có một số lược đồ chiều rộng nguyên khác nhau (mô hình dữ liệu) là phổ biến và vì mô hình dữ liệu xác định cách các chương trình khác nhau giao tiếp, một mô hình dữ liệu thống nhất được sử dụng trong giao diện ứng dụng hệ điều hành đã cho. [3] Trong thực tế cần lưu ý rằng char thường có kích thước 8 bit, ngắn thường có kích thước 16 bit và dài thường là 32 bit về kích thước (tương tự như unsigned char, unsigned ngắn và unsigned long). Ví dụ, điều này đúng với các nền tảng đa dạng như Sun0S 4 Unix, Microsoft MSDOS, Linux hiện đại và Microchip MCC18 cho vi điều khiển PIC 8 bit được nhúng.

Các vấn đề liên quan