Cách thức hoạt động của mảng kiểu char và con trỏ kiểu char

Em hiện tại đang luyện công theo cuốn tịch tà code phổ, nhưng đến đoạn con trỏ char, và mảng char thì quá trình có gặp một chút trục trặc, cụ thể là như này:

char *c = "Hello";

c[1] = 'f'; // c này là con trỏ

sau đó e mới in ra thằng *c

printf("%s", c);

Thì nó không in ra gì hết, có nghĩa là thằng *c nó đã mất hết dữ liệu, theo em đc biết là dùng con trỏ thì không thể thay đổi nội dung bằng index giống mảng được, nhưng nếu vậy chương trình nó phải báo lỗi hay nó vẫn phải in ra thằng *c với nội dung cũ chứ sao nó bị mất dữ liệu ạ. Mong các bác giúp em thông phần này hơn với ạ. (Đây là code C)

Vẫn được và với cú pháp giống y chang.
Vấn đề là "Hello" là hằng chuỗi, không được thay đổi gì luôn, nên nó chạy loạn xạ.

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?