Chào m.n, mình đang làm 1 bài tập về con trỏ. Phần hàm của mình là copy chuỗi và return chuỗi đó.
char*** kth_paragraph(char**** document, int k) {
char ***para = (char***)malloc(sizeof(document[k-1])*sizeof(char***));
for(int i=0;i<sizeof(document[k-1]);i++)
{
para[i] = (char**)malloc( sizeof(document[k-1][i]) * sizeof(char**) );
for(int j=0;j< sizeof(document[k-1][i]);j++){
para[i][j] = (char*)malloc(sizeof(document[k-1][i][j]) * sizeof(char*));
strcpy(para[i][j],document[k-1][i][j]);
}
}
return para;
}
Hàm báo lỗi segment fault. Mình debug báo tại phần dynamic allocation. Mình nghĩ sai ở phần sizeof(…), và không biết có các nào khác để cấp phát cho con trỏ mới theo size của con trỏ cũ không?. Ai biết gợi ý giúp mình với.
Thanks.