Kích thước của nhân vật trong C và C ++ là gì? Theo tôi biết kích thước của char là 1 byte ở cả C và C ++.
#include <stdio.h>
int main()
{
printf("Size of char : %d\n", sizeof(char));
return 0;
}
#include <iostream>
int main()
{
std::cout << "Size of char : " << sizeof(char) << "\n";
return 0;
}
Không có gì ngạc nhiên, cả hai đều cho đầu ra: Size of char : 1
Bây giờ chúng ta biết rằng nhân vật được biểu diễn như 'a'
, 'b'
, 'c'
, '|'
, ... Vì vậy, tôi chỉ cần sửa đổi các mã trên để sau đây:
Trong C:
#include <stdio.h>
int main()
{
char a = 'a';
printf("Size of char : %d\n", sizeof(a));
printf("Size of char : %d\n", sizeof('a'));
return 0;
}
Size of char : 1
Size of char : 4
Trong C ++:
#include <iostream>
int main()
{
char a = 'a';
std::cout << "Size of char : " << sizeof(a) << "\n";
std::cout << "Size of char : " << sizeof('a') << "\n";
return 0;
}
Size of char : 1
Size of char : 1
Tại sao sizeof('a')
trả về các giá trị khác nhau trong C và C ++?
"%|"
định dạng yêu cầu mộtint
tham số (hoặc cái gì đó thúc đẩy đểint
).sizeof
mang lại một kết quả của loạisize_t
. Hoặc chuyển đổi sangint
sử dụng diễn viên hoặc, nếu triển khai của bạn hỗ trợ nó, hãy sử dụng"%zu"
.