30/09/2018, 22:05
Thắc mắc về cấp phát mảng con trỏ trong C
Em có 1 đoạn code ntn:
int main()
{
//shell_loop();
char **p=malloc(sizeof(char *)*3);
int i;
p[0]="abc";
p[1]="xyz";
p[2]="def";
for(i=0;i<3;i++)
printf("%s
",(p[i]));
system("pause");
return 0;
}
Để xuất ra 1 phần tủ bất kì thì dùng
printf("%s
",p[0]);
nhưng sao khi em dùng
printf("%s
",*p[0]);
Thì chương trình bị crash. Mọi người giải thích giúp em được không? Em cảm ơn.
Bài liên quan
Là do bạn không hiểu rõ cách dùng hàm
printf
vàformat specifiers
của nó, bạn lên mạng đọc lại:%s
yêu cầu biến truyền vào hàm là một con trỏ trỏ tới vùng nhớ có chuỗi.This post was flagged by the community and is temporarily hidden.
Cảm ơn 2 bạn, mình hiểu rồi