01/10/2018, 16:30
Hỏi về hàm sizeof() của mảng trong C++
Mình có đoạn code sau:
#include <iostream>
void getSize(int a[])
{
std::cout << "
size at func: " << sizeof(a);
}
int main()
{
int a[] = { 8, 7, 2, 5, 3, 1 };
std::cout << "
size at main: " << sizeof(a);
getSize(a);
return 0;
}
Sau khi chạy thì chương trình in ra:
size at main: 24
size at func: 8
Mình mới chuyển sang C++ nên chưa hiểu lắm về ngôn ngữ này. Mong mọi người giải thích giúp!
Bài liên quan
Mảng khi truyền vào thì chỉ còn là con trỏ, vì vậy
sizeof
cũng chỉ là của con trỏ.Thực ra
sizeof()
là một trong những toán tử đặc biệt, không thể nạp chồng.Cảm ơn bạn nhiều! Bạn cho mình hỏi thêm về các tham số có tiền tố &, *, và ** được khộng ạ?
Bạn xem phần con trỏ với tham chiếu nhé