Tóm tắt
Trong lập trình C, một chuỗi là một mảng các ký tự được kết thúc bằng ký tự null \0
Ví dụ: char c[] = "lap trinh c";
Cách khai báo:
char c[] = "text";
char c[50] = "text";
char c[] = {'t', 'e', 'x', 't', '\0'};
char c[5] = {'t', 'e', 'x', 't', '\0'};
Các lưu ý:
Lưu ý về dung lượng mảng: char c[4] = “text” => không đủ, vì chuỗi luôn có ký tự kết thúc là \0
Không hỗ trợ toán tử gán bên ngoài khai báo
char c[100];
c = "lap trinh c"; // Xảy ra lỗi
Các hàm nhập chuỗi
scanf(“%s”, ten_mang); // chỉ nhập chuỗi không chứa khoảng trắng
fgets(ten_mang, sizeof(ten_mang), stdin); // đọc một dòng bao gồm cả khoảng trắng
Các hàm xuất chuỗi
printf(“%s”, ten_mang); // xuất một mảng ký tự ra màn hình
puts(ten_mang); // xuất một mảng ký tự ra màn hình + xuống dòng
Video giải thích chi tiết về Chuỗi trong lập trình C, Cách nhập và xuất chuỗi trong lập trình C | Tự học lập trình C
Code ví dụ
#include <stdio.h>
#include <stdlib.h>
int main(){
int n;
printf("Nhap so luong phan tu: ");
scanf("%d", &n);
//int* ptr = (int*)malloc(n*sizeof(int));
int* ptr = (int*)calloc(n, sizeof(int));
if(ptr==NULL){
printf("\nError: Khong cap phat duoc vung nho");
return 0;
}
for(int i=0; i<n; i++){
printf("a[%d]=",i);
scanf("%d", ptr+i);
}
// Xuat mang
for(int i=0; i<n; i++){
printf("%d ", *(ptr+i));
}
int x;
printf("\nKich co mang muon thay doi la: ");
scanf("%d", &x);
realloc(ptr, x);
// Xuat mang
printf("\n");
for(int i=0; i<x; i++){
printf("%d ", *(ptr+i));
}
free(ptr);
}
Không có nhận xét nào:
Đăng nhận xét