Mình mới tập code C nên nhiều thứ không biết, search gg thì không ra đúng thứ mình cần. Như tiêu đề khi mình muốn trả lại một chuỗi thì khai báo hàm thế nào, hay dùng cách khác ??
Muốn trả lại chuỗi thì khai báo hàm thế nào?
malloc xong strcpy rồi sút con trỏ về, hoặc viết trên chuỗi ban đầu (đỡ bị leak).
1 Like
Mình thấy tìm trên mạng ra nhiều mà. Muốn trả về chuỗi thì bạn có thể khai báo hàm có kiểu char*.
#define SIZE 200
#include <stdio.h>
char* return_string()
{
static char s[SIZE]="Hello world";
return s;
}
int main()
{
printf("%s", return_string());
return 0;
}
Bạn có thể truyền vào bằng cách sử dụng tham chiếu.
Hoặc là có thể dùng lớp string thì return thoải mái mà k sợ bị leak, nhưng mà string là của C++.
HI Huy Lê.
- Bạn xem lại định nghĩa về chuỗi trong C.
- Bạn có thể cấp phát động trong hàm rồi return con trỏ về hoặc cấp phát ngoài hàm rồi chuyền con trỏ vào.
2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?