6
thể trùng lặp:
Why are C character literals ints instead of chars?kích thước của kiểu char trong C
folks,
Tôi cố gắng để in ra kích thước của char trong C. Với đoạn mã sau, Tôi có kết quả đầu ra là
int, 4
char, 1
char?, 4
Tại sao người cuối cùng không giống như người thứ hai? Cảm ơn.
#include <stdio.h>
main()
{
int a = 2;
char b = '2';
printf("int, %d\n",sizeof(a));
printf("char, %d\n",sizeof(b));
printf("char?, %d\n",sizeof('a'));
}
http://stackoverflow.com/questions/433895/why-are-c-character-literals-ints-instead -những ký tự. Trong ánh sáng này, tôi sẽ bỏ phiếu để đóng (mặc dù nó không phải là một câu hỏi xấu) –
Thảo luận về chủ đề này đã được nêu ra trước: http://stackoverflow.com/questions/433895/why-are-c-character-literals -ints-instead-of-chars –
Lưu ý rằng 'sizeof (char)' là 1, theo định nghĩa --- 'sizeof()' trả về giá trị trong đơn vị char. Mà không giống như byte! AFAICT không có cách nào để có được kích thước của một cấu trúc trong _bytes_ mà không có kiến thức nền tảng (nghĩa là, có bao nhiêu byte trong một char). –