30/09/2018, 21:19

Iterate an array of struct

Cho mình hỏi có cách nào in ra tất cả các phần tử trong 1 mảng mà ko biết độ dài của mảng ?
Mình sử dụng vòng lập while, nhưng ko đúng tại vì nó sẽ đi tới tận cùng của đường chân trời luôn :))

#include <stdio.h>

typedef struct {
	int id;
	int age;
}Person;

    // SAI
void printPerson(Person* p){ 
	Person* person;
	while((person=p++) != NULL)
		printf("Person %d are %d years old
", person->id, person->age);
}

int main(void){

	Person p1 = {1, 20};
	Person p2 = {2, 27};
	Person p3 = {3, 50};
	Person p4 = {4, 15};
	Person p5 = {5, 24};
	Person p6 = {6, 80};

	Person persons[6] = {p1, p2, p3, p4, p5, p6};

	printPerson(persons);

	return 0;
}
Tao Không Ngu. viết 23:30 ngày 30/09/2018

This post was flagged by the community and is temporarily hidden.

Tao Không Ngu. viết 23:33 ngày 30/09/2018

This post was flagged by the community and is temporarily hidden.

Bài liên quan
0