Hỏi về char string[][]

Cho em hỏi nếu em khai báo Char string[5][10] thì nó có ý nghĩa gì ạ.
Nó là mảng 2 chiều ạ?
Ví dụ như trong bài này: Nhập Họ Đệm Tên -> Tên Họ Đệm thì đoạn khai báo Char str[5][10] có ý nghĩa gì ạ?

#include <string.h>
#include <stdio.h>

void tach( char hoTen[]){
	char *p = strtok(hoTen, " ");
	int i=0;
	char str[5][10];
	while(p!= NULL){
		strcpy(str[i], p);
		i++;
		p = strtok(NULL, " ");
	}
	printf("%s %s ", str[i-1], str[0]);
	for(int j=1;j<i-1;++j) printf("%s ", str[j]);
	
	
	
	
}

int main () {
   char hoTen[25];
   printf("nhap Ho ten : ");
	gets(hoTen);
	tach(hoTen);
   
   return(0);
}

Đúng rồi, nó là mảng hai chiều của các kí tự đơn.

Dễ hiểu hơn là: mảng (1 chiều) của các chuỗi.
Trong bài này, mỗi phần tử sẽ lưu từng chuỗi được phân cách bằng khoảng trắng (" ").
Vd:

hoTen = "Le Tran Van Dat";
// =>
str[0] = "Le";
str[1] = "Tran";
str[2] = "Van";
str[3] = "Dat";
3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?