01/10/2018, 12:35

Giúp đỡ em về cấp phát động trong C

Em mới học pointer và đang mày mò những cái liên quan như cấp phát động.
Em thử cho nó khởi tạo mảng có độ dài là 5
Nhưng khi dùng sizeof để kiểm tra lại thì nó không trả về độ dài như mong muốn.
Mong mọi người chỉ giáo em thêm ạ.

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

int main()
{
	int *number;
	int length;

	printf("Nhap do dai cua mang: ");
	scanf_s("%d", &length);

	number = (int *)malloc(length * sizeof(int));

	for (int i = 0; i < length; ++i) {
		printf("Nhap mang [%d]", i);
		scanf_s("%d", number + i);
	}

	for (int i = 0; i < length; ++i) {
		printf("%d
", *(number + i));
	}
	

	printf("size of number: %d", (int)(sizeof(number) / sizeof(int)))
		;

	free(number);

	_getch();

	return 0;
}
Bài liên quan
0