STDIO
Tìm kiếm gần đây
    • Nội dung
    • QR Code
    • 0
    • 0
    • Sao chép

    Rắc Rối Lấy Địa Chỉ Biến Kiểu char và cout

    Giải pháp trong việc khó khăn lấy địa chỉ lưu trữ của một biến với cout và char trong C++.

    Ryan

    24/01/2015
    18/09/2020
    1 phút đọc
    Rắc Rối Lấy Địa Chỉ Biến Kiểu char và cout

    Địa chỉ của một biến là gì?

    Vào thời điểm khai báo một biến thì nó sẽ được lưu trữ trong bộ nhớ của máy. Nơi lưu trữ nó chính là địa chỉ của biến vừa khai báo. Để biết được địa chỉ này dùng toán tử & đặt trước biến cần lấy địa chỉ.

    Ví dụ, khai báo int a; thì địa chỉ của biến sẽ được lấy là &a.

    Code mẫu

    #include <iostream>
    
    int main()
    {
    	int a;
    	std::cout << "Address of a: " << &a;
    	return 0;
    }

    Trong trường hợp này, kết quả là 0061F9A4.

    Lấy địa chỉ của một biến kiểu char

    Thay int a thành char a ta có

    #include <iostream>
    
    int main()
    {
    	char a;
    	std::cout << "Address of a: " << &a;
    	return 0;
    }

    Kết quả nhận được là: AAAAAAAA

    Đó không phải là kết quả mong muốn. Lý do là vì khi lấy &a thì được 1 kết quả với kiểu trả về tương ứng là char*. Và cách ứng xử của cout với char* là xem nó như một chuỗi thay vì một địa chỉ (1 con số), đó chính là điều rắc rối bài viết đề cập. Giải pháp đơn giản, ép kiểu về một dạng số nguyên (trong trường hợp này dùng kiểu số nguyên lớn hơn 4 bytes là được).

    0
    Modern C++

    Modern C++

    STDIO Training - Đào Tạo Lập Trình C++.

    Khi bạn nhấn vào liên kết sản phẩm do STDIO đề xuất và mua hàng, STDIO có thể nhận được hoa hồng. Điều này hỗ trợ STDIO tạo thêm nhiều nội dung hữu ích.. Tìm hiểu thêm.

    Đề xuất

    Bản Chất Của Biến Trong C/C++
    Tìm hiểu về bản chất của biến trong C++.
    16/01/2015
    Biến và Kiểu Dữ Liệu trong Lua
    Giới thiệu biến, kiểu dữ liệu và cách khai báo biến và kiểu dữ liệu ...
    24/09/2014

    Khám phá

    Biến và Kiểu Dữ Liệu
    Tìm hiểu về biến và kiểu dữ liệu trong C++.
    16/04/2015
    SmartHome - Từ Rời Rạc Hóa đến Tổng Thể Thông Minh
    Từ những thiết bị vốn được tạo ra tự động một cách rời rạc đến kết nối ...
    Rvalue References và Move Semantics
    Khái niệm rvalue reference, và ứng dụng để định nghĩa "move semantic" ...
    02/12/2014
    9 Tính Năng Quan Trọng Trong C++11
    C++11 là một phiên bản cải tiến và nâng cấp từ C++98 (hay các bạn vẫn ...
    13/08/2015
    Con Trỏ trong C++ - Pointer
    Tìm hiểu và hướng dẫn cách sử dụng con trỏ trong C/C++.
    28/07/2015
    Biến và Kiểu Dữ Liệu Cơ Bản trong Java
    Giới thiệu khái niệm, phạm vi hoạt động của biến và các kiểu dữ liệu ...
    11/05/2015
    Phân Biệt Tham Chiếu và Con Trỏ trong C++
    Phân biệt tham chiếu và con trỏ trong C++ theo phương pháp đơn giản.
    Biến và Kiểu Dữ Liệu Của Biến trong C++
    Biến, các tính chất của biến và các kiểu dữ liệu trong C/C++.
    15/07/2017
    STDIO
    Trang chính
    Công ty TNHH STDIO

    30, Trịnh Đình Thảo, Hòa Thạnh, Tân Phú, Hồ Chí Minh
    +84 28.36205514 - +84 942.111912
    developer@stdio.vn

    383/1 Quang Trung, Phường 10, Quận Gò Vấp, Hồ Chí Minh
    Số giấy phép ĐKKD: 0311563559 do sở Kế hoạch và Đầu Tư TPHCM cấp ngày 23/02/2012

    ©STDIO, 2013 - 2020