30/09/2018, 16:18
Dung Lượng Lưu Trữ Trong Xâu Kí Tự Trong C
Ai hiểu kĩ phần Xâu Kí Tự thì giúp em với
Em có thắc mắc là khi mình khai báo xâu kí tự char a[10] thì dung lượng lưu trữ xâu đó là 11 hay 10 ạ? lưu trữ kí tự NULL ở trong xâu hay thế nào ạ?
Bài liên quan
Khi khai báo một chuỗi char a[] thì bạn nên khởi tạo rỗng luôn. VD: char a[10] = “”; char a[10] dĩ nhiên chỉ lưu được tối đa 10 kí tự, và nhất thiết bạn phải có một giá trị NULL để đánh dấu hết chuỗi
sao cô giáo mình chữa là 11 :frowning
trong giáo trình bọn mình ghi là xâu kí tự “A” được lưu trữ trong 2 bytes gồm cả kí tự NULL nên mình rất thắc mắc. mình với bạn mình không biết ai đúng ai sai luôn. mỗi người 1 kiểu.
10 kí tự thôi bạn ơi, bạn mở visual hay codeblock lên thử là biết mà
‘A’+NULL=2byte
cảm ơn bạn nha :)))))))))))))))))))))))
Mình nghĩ là 1 ký tự kết thúc chuỗi
\0
, còn lại chỉ lưu trữ được 9 ký tự thôi bạn.Chạy thử hai đoạn code này thì bạn sẽ rõ thôi là 9 hay 10 hay 11.
Ký tự đc lưu 2byte là tính luôn dấu phải ko mn.ví dụ: a’
/0 cũng là một kí tự nhưng nó không in ra được thôi ví dụ như bạn gán trực tiếp cho chuỗi 10 phần tử bằng 1 chữ cái thì khi bạn in ra thì nó sẽ in ra 10 phần tử nói chung là bạn có thể lưu được 10 kí tự luôn ấy