01/10/2018, 08:34

Đọc tất cả phần tử trong mảng C

code: int a[] = {1, 2, 3};

giả sử đây là 1 mảng không xác định phần tử làm sao ta có thể đọc ra tất cả các phần tử trong đó! Cảm ơn mọi người đã đọc!

Tao Không Ngu. viết 10:50 ngày 01/10/2018

Hi nghia.
Khoong co cach mnao ca.

Tung Dao viết 10:43 ngày 01/10/2018

Mảng trong C lúc nào cũng phải xác định số lượng phần tử nhe bạn. trong VD mà bạn đưa không phải là không xác định mà chẳng qua là xác định không tường mình thôi, khi compile code này compiler sẽ tự xác định số phần tử trong dấu {} và cấp phát tĩnh cho mảng a.

Để biết được kích thước của mảng bạn dùng sizeof(a) nhe, hàm này trả về kích thước mảng a tính theo đơn vị byte, vậy sizeof(a)/sizeof(int) bạn sẽ có được số phần tử mảng a

for (int idx = 0 ; idx < sizeof(a)/sizeof(int) ; idx++) 
{
    printf("a[%d] = %d\n", idx, a[idx]);
}
X viết 10:48 ngày 01/10/2018

Số phần tử trong mảng = sizeof(a) / sizeof(int)

int a[] = {1, 2, 3};

Integer là 4 bytes
sizeof(a) => 12
sizeof(int) => 4
N = sizeof(a) / sizeof(int) = 3

nghia viết 10:35 ngày 01/10/2018

cảm ơn bạn đã chỉ giáo!

nghia viết 10:39 ngày 01/10/2018

cảm ơn bạn đã giúp cho mình hiểu!

Tao Không Ngu. viết 10:41 ngày 01/10/2018

Tính như hai ông thì đếm tay cũng ra. Code làm gì cho mệt.

rogp10 viết 10:37 ngày 01/10/2018

Sau này viết thêm vào bảng thì ngồi chỉnh lại hơi bị fer.

Tao Không Ngu. viết 10:46 ngày 01/10/2018

Hi rogp10.
Viết cái define ra. Code vừa ngắn gọn lại dẽ bảo trì.

rogp10 viết 10:37 ngày 01/10/2018

Vẫn phải chỉnh lại #define đấy chứ. Không sửa bao giờ chả dễ hơn là sửa code.

Bài liên quan
0