Yahoo Hỏi & Đáp sẽ ngừng hoạt động vào ngày 4 tháng 5 năm 2021 (Giờ Miền Đông nước Mỹ) và từ nay, trang web Yahoo Hỏi & Đáp sẽ chỉ ở chế độ đọc. Các thuộc tính hoặc dịch vụ khác của Yahoo hay tài khoản Yahoo của bạn sẽ không có gì thay đổi. Bạn có thể tìm thêm thông tin về việc Yahoo Hỏi & Đáp ngừng hoạt động cũng như cách tải về dữ liệu của bạn trên trang trợ giúp này.

?
Lv 4
? đã hỏi trong Máy tính & InternetLập trình & Thiết kế · 8 năm trước

Giải đáp giúp mình 1 thắc mắc trong ngôn ngữ C?

Khi ta khai báo xâu ký tự

char A[10];

Xâu A ở trên chiếm bao nhiêu byte bộ nhớ? 10 hay 11?

2 Câu trả lời

Xếp hạng
  • Ẩn danh
    8 năm trước
    Câu trả lời yêu thích

    delete10 trả lời tầm bậy.

    char A[10] tức là về mặt logic bạn muốn compiler cấp cho bạn 10 phần tử kiểu char, mà cở bản thì kiểu char là 1 byte => 10 phần tử là 10 bytes.

    Còn việc bạn dùng 10 phần tử này như thế nào là quyền của bạn. Tức là nếu bạn muốn hiện thực hóa 1 chuỗi dựa vào mảng char trên thì bạn phải hy sinh 1 byte để lưu ký tự kết thúc chuỗi '\0'

    Tức là về mảng thì bạn có 10 bytes, còn nếu bạn lưu 1 chuỗi ngắn hơn 10 bytes trong mảng đó vẫn được.

    Kết luận: 10 bytes ô nhớ. Học chưa tới nơi tới chốn mà trả lời tầm bậy chỉ tổ hại người ta hiểu sai vấn đề.

    nobi_nobita66@yahoo.com

  • 8 năm trước

    11. kiểu ký tự thì nó thêm 1 ô để chứa ký tự kết thúc "\0".

Bạn vẫn có câu hỏi? Hãy hỏi ngay để nhận câu trả lời.