thể trùng lặp:
Sizeof an array in the C programming language?
Why does a C-Array have a wrong sizeof() value when it's passed to a function?Làm thế nào để có được độ dài của một mảng trong C? Là "sizeof" một giải pháp?
Xem mã dưới đây và đề nghị với tôi rằng sự khác biệt của từ khóa "sizeof" là những gì khi tôi sử dụng như thế này:
#include<stdio.h>
#include<conio.h>
void show(int ar[]);
void main()
{
int arr[]={1,2,3,4,5};
clrscr();
printf("Length: %d\n",sizeof(arr));
printf("Length: %d\n",sizeof(arr)/sizeof(int));
show(arr);
getch();
}
void show(int ar[])
{
printf("Length: %d", sizeof(ar));
printf("Length: %d", sizeof(ar)/sizeof(int));
}
Tuy nhiên, đầu ra là như thế này:
Output là:
Thời lượng: 10
Length: 5
Length: 2
Length: 1
lý do tại sao tôi nhận được như thế này; Nếu tôi muốn lấy toàn bộ dữ liệu từ một mảng này sang mảng khác thì tôi có thể làm như thế nào?
Đề xuất tôi Nếu có ai biết.
Bạn không thể nhận được kích thước của một mảng trong C mà không có thêm thông tin. – m0skit0
@Oli Charlesworth: Tôi đã tìm kiếm trên google nhưng tôi không nhận được liên kết mà bạn cung cấp; Cảm ơn bạn đã cung cấp; – alishaik786
Bạn không thể nhận được kích thước của tham số mảng. –