Khoá học lập trình C/C++ Dành cho người mới bắt đầu [Video] Tìm hiểu Struct trong C | Khóa học lập trình C

  • 5.0/5.0
  • 2k Đăng ký
  • Học lập trình
  • Tiếng việt

Thông tin khóa học

Mở bài

Khi bạn bắt đầu đi sâu vào lập trình C, một trong những khái niệm quan trọng không thể bỏ qua là struct — hay còn gọi là cấu trúc. Struct giúp lập trình viên gom nhóm các biến có liên quan (cùng hoặc khác kiểu dữ liệu) thành một đơn vị hợp lý, từ đó tổ chức dữ liệu theo hướng mô tả thực tế (ví dụ: thông tin sinh viên gồm tên, tuổi, điểm). Việc nắm vững Struct trong C không chỉ giúp mã nguồn rõ ràng, dễ bảo trì mà còn là nền tảng để hiểu các cấu trúc dữ liệu phức tạp hơn như danh sách liên kết, cây, hay các mô hình dữ liệu trong ứng dụng thực tế.

Bài viết này được thiết kế như một chương trong khóa học lập trình C, cung cấp giải thích từ cơ bản đến nâng cao: cú pháp khai báo, khởi tạo, mảng struct, con trỏ tới struct, truyền struct vào hàm, struct lồng nhau (nested struct), vấn đề can lệch bộ nhớ (padding & alignment), và các ví dụ thực hành thực tế. Mỗi phần có ví dụ mã minh họa rõ ràng và lời khuyên thực tế để bạn có thể áp dụng ngay trong dự án của mình. Hãy cùng khám phá cách dùng struct để biến dữ liệu rời rạc thành các thực thể có ý nghĩa!


Struct là gì và tại sao nên dùng struct trong C

Struct (cấu trúc) là một kiểu dữ liệu do người dùng định nghĩa, cho phép gom các biến liên quan thành một nhóm có tên. Mỗi thành phần trong struct được gọi là field hoặc member. Ví dụ, thay vì khai báo rời rạc char name[50]; int age; float gpa; cho một sinh viên, ta có thể gói gọn thành một biến kiểu struct Student gồm các thành phần trên.

Lợi ích chính của struct:

  • Tổ chức dữ liệu: Struct biểu diễn đối tượng thực tế (entity) rõ ràng hơn, giúp mã dễ đọc và dễ hiểu.

  • Tái sử dụng: Với typedef và struct, bạn có thể tái sử dụng mẫu dữ liệu trong nhiều hàm/module.

  • Thích hợp cho API: Dùng struct làm tham số/hàm trả về giúp truyền nhiều thông tin một cách gọn gàng.

  • Chuẩn bị cho cấu trúc dữ liệu nâng cao: Linked list, stack, tree thường dựa trên struct có chứa con trỏ.

So sánh ngắn: struct khác array ở chỗ array chứa nhiều phần tử cùng kiểu, còn struct chứa các phần tử có thể khác kiểu (string, số, ...). Khi thiết kế chương trình, nếu dữ liệu có nhiều thuộc tính, struct là lựa chọn hợp lý.


Cú pháp khai báo struct và kiểu dùng typedef

Cú pháp cơ bản để định nghĩa một struct:

struct Student { char name[50]; int age; float gpa; };

Sau khi định nghĩa, bạn có thể khai báo biến kiểu này bằng:

struct Student s1;

Để rút gọn tên kiểu, thường dùng typedef:

typedef struct { char name[50]; int age; float gpa; } Student;

Khi dùng typedef, bạn có thể khai báo trực tiếp:

Student s2;

Một số lưu ý:

  • Tên struct (Student) và tên typedef có thể trùng hoặc khác nhau tuỳ mục đích.

  • Có thể định nghĩa struct và khai báo biến ngay lập tức:

    struct Point { int x, y; } p1, p2;

Khi thiết kế API cho module, nên đặt định nghĩa struct trong file header .h để nhiều file cùng sử dụng. Nếu struct chỉ dùng nội bộ module, thêm static hoặc giữ định nghĩa trong file .c để ẩn (encapsulation nhẹ).


Khởi tạo struct: các cách gán và khởi tạo ban đầu

Có nhiều cách để khởi tạo struct trong C:

  1. Gán từng thành phần

    Student s; strcpy(s.name, "An"); s.age = 20; s.gpa = 3.5;

    Lưu ý cần <string.h> cho strcpy.

  2. Khởi tạo danh sách (aggregate initialization)

    Student s = {"An", 20, 3.5};

    Thành phần được gán theo thứ tự khai báo trong struct.

  3. Khởi tạo một phần (designated initializer - C99)

    Student s = {.age = 20, .gpa = 3.5};

    Thuộc tính không gán sẽ được khởi tạo về 0.

  4. Gán struct trực tiếp

    Student a = {"A", 19, 3.2}; Student b = a; // copy toàn bộ nội dung

    Struct có thể gán trực tiếp; mọi thành phần được sao chép.

Những phương pháp này giúp linh hoạt khi bạn cần tạo dữ liệu mẫu, khởi tạo mặc định, hoặc sao chép nhanh. Lưu ý rằng khi struct chứa mảng (ví dụ char name[50]), sao chép struct sẽ bao gồm toàn bộ nội dung mảng.


Mảng struct và thao tác trên tập hợp đối tượng

Rất thường dùng struct kết hợp mảng để lưu danh sách bản ghi, ví dụ danh sách sinh viên:

Student students[100]; // lưu tối đa 100 sinh viên int n = 0;

Một số thao tác cơ bản:

  • Thêm: gán giá trị cho students[n++].

  • Tìm kiếm: duyệt mảng và so sánh tên hoặc mã.

  • Sắp xếp: dùng qsort với hàm so sánh dựa trên field trong struct.

  • In danh sách: duyệt và in từng trường.

Ví dụ sắp xếp theo điểm gpa dùng qsort:

int cmp(const void *a, const void *b) { const Student *s1 = a; const Student *s2 = b; if (s1->gpa < s2->gpa) return -1; if (s1->gpa > s2->gpa) return 1; return 0; } qsort(students, n, sizeof(Student), cmp);

Khi dùng mảng struct, lưu ý dung lượng cố định; nếu cần động, hãy kết hợp pointer và malloc/realloc.


Con trỏ tới struct và toán tử truy cập ->, .: cách dùng và ví dụ

Con trỏ tới struct thường được dùng khi truyền vào hàm hoặc khi dùng bộ nhớ động:

  • Dùng dấu . để truy cập field khi bạn có một biến struct:

    students[0].age = 21;
  • Dùng -> khi bạn có con trỏ tới struct:

    Student *p = &students[0]; p->age = 22; // tương đương (*p).age = 22;

Sử dụng con trỏ struct hữu ích khi:

  • Truyền tham số vào hàm để hàm sửa nội dung struct (pass-by-reference).

  • Cấp phát động cho struct:

    Student *p = malloc(sizeof(Student)); if (p) { strcpy(p->name, "Binh"); p->age = 23; free(p); }

Khi dùng malloc, hãy luôn kiểm tra NULL và free sau khi sử dụng để tránh rò rỉ bộ nhớ.


Truyền struct vào hàm: truyền theo giá trị và theo con trỏ

Bạn có thể truyền struct vào hàm theo hai cách:

  1. Truyền theo giá trị (by value)
    Hàm nhận một bản sao của struct:

    void print_student(Student s) { printf("%s %d %.2f\n", s.name, s.age, s.gpa); }

    Thay đổi s trong hàm không ảnh hưởng đến biến gốc.

  2. Truyền theo con trỏ (by reference)
    Truyền địa chỉ để hàm có thể cập nhật dữ liệu:

    void update_gpa(Student *s, float g) { s->gpa = g; }

    Gọi: update_gpa(&students[i], 3.8);

Ưu/nhược điểm:

  • Truyền by value đơn giản, an toàn nhưng tốn chi phí sao chép nếu struct lớn.

  • Truyền by reference tiết kiệm bộ nhớ và cho phép sửa nội dung; cần kiểm tra con trỏ NULL.

Khi thiết kế API, ghi rõ ai sở hữu dữ liệu và ai chịu trách nhiệm giải phóng bộ nhớ (khi dùng malloc).


Nested struct (struct lồng nhau) và union: mở rộng cấu trúc dữ liệu

Nested struct (struct chứa struct khác) hữu ích khi một đối tượng phức tạp có thành phần là một đối tượng con:

typedef struct { int day, month, year; } Date; typedef struct { char name[50]; Date dob; // nested struct float gpa; } Student;

Bạn truy cập như:

students[i].dob.year = 2000;

Hoặc nếu dùng con trỏ: p->dob.month = 5;

Ngoài ra, union là kiểu đặc biệt cho phép các field chia sẻ vùng nhớ (tiết kiệm nhưng giới hạn). Thường dùng union kèm struct để tạo cấu trúc dữ liệu linh hoạt (ví dụ variant types), nhưng lưu ý vấn đề an toàn kiểu và đọc trường đúng hiện trạng.


Memory layout, padding và sizeof struct: hiểu để tối ưu

Khi làm việc với struct, bạn cần hiểu cách bộ nhớ bố trí: compiler thường chèn padding giữa các field để đảm bảo các trường được căn chỉnh (alignment) phù hợp với kiến trúc CPU. Padding làm sizeof(struct) có thể lớn hơn tổng kích thước từng field.

Ví dụ:

typedef struct { char c; // 1 byte int x; // 4 bytes, but aligned to 4 } A;

Kích thước có thể là 8 bytes vì 3 byte padding sau char.

Mẹo tối ưu:

  • Sắp xếp các field từ lớn đến nhỏ (int, short, char) để giảm padding.

  • Dùng #pragma pack hoặc attribute packed (cẩn trọng) nếu cần layout chặt cho giao tiếp nhị phân, nhưng có thể làm chậm truy cập do misalignment.

Luôn dùng sizeof để biết kích thước thực tế khi cấp phát động:

Student *p = malloc(sizeof(Student));

Lỗi thường gặp và cách phòng tránh khi dùng struct

Một số lỗi phổ biến:

  • Sao chép chuỗi không kiểm soát:

    strcpy(s.name, input); // ensure input fits into s.name

    Giải pháp: dùng strncpy hoặc kiểm tra độ dài.

  • Trả về địa chỉ biến cục bộ:

    Student* f() { Student s; return &s; // ❌ sai }

    Trả về vùng heap hoặc để caller cấp phát.

  • Quên free khi malloc → memory leak.

  • Truy cập ngoài phạm vi mảng trong struct → buffer overflow.

  • Không kiểm tra con trỏ NULL trước khi dereference.

Nguyên tắc: viết code an toàn, kiểm tra biên (boundary checking), và document rõ trách nhiệm về bộ nhớ.


Ví dụ thực tế hoàn chỉnh: quản lý danh sách sinh viên nhỏ

Một chương trình ngắn minh họa các thao tác cơ bản: thêm, in, tìm kiếm, sắp xếp:

#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct { char id[10]; char name[50]; int age; float gpa; } Student; void printStudent(const Student *s) { printf("%s - %s - %d - %.2f\n", s->id, s->name, s->age, s->gpa); } int main(void) { Student students[100]; int n = 0; // Thêm 2 sinh viên mẫu strcpy(students[n].id, "SV001"); strcpy(students[n].name, "Tran Van A"); students[n].age = 20; students[n].gpa = 3.4; n++; strcpy(students[n].id, "SV002"); strcpy(students[n].name, "Le Thi B"); students[n].age = 21; students[n].gpa = 3.8; n++; printf("Danh sach sinh vien:\n"); for (int i = 0; i < n; i++) printStudent(&students[i]); // Tìm sinh viên có gpa cao nhất int idx = 0; for (int i = 1; i < n; i++) if (students[i].gpa > students[idx].gpa) idx = i; printf("Sinh vien diem cao nhat:\n"); printStudent(&students[idx]); return 0; }

Đây là mẫu cơ bản có thể mở rộng: dùng mảng động, input từ người dùng, ghi/đọc file, v.v.


Kết luận

Struct là công cụ mạnh trong ngôn ngữ C giúp mô hình hoá và tổ chức dữ liệu một cách trực quan và hiệu quả. Biết cách khai báo, khởi tạo, dùng mảng struct, con trỏ tới struct, truyền struct vào hàm, cũng như hiểu về memory layout và padding, sẽ giúp bạn thiết kế chương trình chắc chắn hơn, tối ưu tài nguyên và dễ bảo trì. Trong khuôn khổ khóa học lập trình C, struct là bước chuyển tiếp quan trọng từ biến đơn giản sang cấu trúc dữ liệu phức tạp — mở đường cho việc học con trỏ nâng cao, danh sách liên kết, cây, và các thuật toán xử lý dữ liệu lớn.

Nếu bạn đang học hoặc dạy lập trình C, hãy thực hành đa dạng bài tập: từ lưu danh sách học sinh, quản lý sản phẩm, tới xây module nhóm dùng header và source file. Việc kết hợp lý thuyết với thực hành sẽ giúp bạn nắm vững Struct trong C và sẵn sàng cho các chủ đề nâng cao tiếp theo. Nếu bạn muốn, mình có thể soạn ngay một bộ bài tập kèm lời giải chi tiết về struct — bạn muốn dạng bài nào: cơ bản (khai báo, khởi tạo), trung cấp (mảng struct, sắp xếp), hay nâng cao (struct động, nested, file I/O)?

Đăng nhập để làm bài kiểm tra

Chưa có kết quả nào trước đó

Chương trình

Video - Nhập môn cho người mới bắt đầu - Lập trình C

Bắt đầu học


Video Flowchart & ví dụ viết flowchart của phương trình bậc 1 - Lập Trình C

Bắt đầu học


Vẽ FlowChart Phương Trình Bậc 1 & Phương Trình Bậc 2

Bắt đầu học


Bài tập - cài đặt môi trường lập trình C + tạo dự án đầu tay

Bắt đầu học


Video Hướng dẫn cài đặt môi trường lập trình C - Lập trình C

Bắt đầu học


Tạo dự án đầu tiên - In ra thông tin cá nhân

Bắt đầu học


Video Tìm hiểu biến & kiểu dữ liệu trong C - Lập trình C

Bắt đầu học


Bài tập - Chuyển flowchart sang code - Lập trình C

Bắt đầu học


Video Toán tử & biểu thức login trong C - Lập Trinh C

Bắt đầu học


Video Nhập dữ liệu trong C (scanf, printf) - Lập trình C

Bắt đầu học


Video Nhập xuất dữ liệu phần 2 - Lập Trình C

Bắt đầu học


Bài tập - Nhập xuất thông tin sinh viên - Lập trình C

Bắt đầu học


Video Bài tập - Nhập xuất thông tin sinh viên - Lập trình C

Bắt đầu học


Bài tập - Ôn tập biến + kiểu dữ liệu + scanf & printf - Lập trình C

Bắt đầu học


Bài tập - ôn tập nhật xuất và biểu tức toán học - Lập trình C

Bắt đầu học


Video Tìm hiểu if, else, switch trong lập trình C - Lập Trình C

Bắt đầu học


Bài tập - Giải phương trình bậc 1 - giải phương trình bậc nhất - Lập trình C

Bắt đầu học


Bài tập - Tìm min & max - số lớn nhất & nhỏ nhất - Lập trình C

Bắt đầu học


Bài tập - Giải hệ phương trình bậc nhất nhất 2 ẩn - Lập trình C

Bắt đầu học


Bài tập - Giải phương trình bậc 2 - Lập trình C

Bắt đầu học


Video Tìm hiểu về vòng lặp for trong C - Lập trình C

Bắt đầu học


Video Tìm hiểu while, do..while trong lập trình C - lập Trình C

Bắt đầu học


Ôn tập While, Do .. While, For lập trình C - Lập trình C

Bắt đầu học


Fibonacci - Lập trình C

Bắt đầu học


Video - Hướng dẫn chữa bài Fibonaci - Lập Trình C

Bắt đầu học


Loop - Switch case - Chương trình quản lý sinh viên - Lập trình C

Bắt đầu học


[Test] Kiểm tra 60 phút - if, else, switch, loop trong C - Lập trình C

Bắt đầu học


Video Tìm hiểu mảng 1 chiều trong C - Lập trình C

Bắt đầu học


Video Tìm hiểu mảng 2 chiều - Lập Trình C

Bắt đầu học


Tính tổng mảng N phần tử - Lập trình C

Bắt đầu học


Bài tập ôn luyện mảng 1 chiều - Lập trình C

Bắt đầu học


Video Bài tập ôn luyện mảng 1 chiều - Lập trình C

Bắt đầu học


Tách phần tử chẵn + lẻ trong C - Lập trình mảng trong C - Lập trình C

Bắt đầu học


Bài tập tổng quát - quản lý mảng số nguyên - Lập trình C

Bắt đầu học


Bài toán sắp xếp trong C - Lập trình C

Bắt đầu học


Loop - Viết chương trình Reserve chuỗi - Lập trình C

Bắt đầu học


Video Tìm hiểu pointer phần 1 - Lập Trình C

Bắt đầu học


Video Tìm hiểu pointer phần 2 - Lập Trình C

Bắt đầu học


Video Tìm hiểu pointer phần 3 - Lập trình C

Bắt đầu học


Bài toán pointer đầu tiên - Hello pointer - Lập trình C

Bắt đầu học


Bài tập pointer nâng cao - cấp phát động - Lập trình C

Bắt đầu học


Bài tập nâng cao pointer - Lập trình C

Bắt đầu học


Video Ôn luyện - Sắp xếp trong C, con trỏ cấp phát động

Bắt đầu học


Video Tìm hiểu function trong lập trình C - Lập Trình C

Bắt đầu học


Ôn tập function - viết chương trình máy tính - Lập trình C

Bắt đầu học


Bài tập ôn luyện Function - Lập trình C

Bắt đầu học


Video Tìm hiểu string trong lập trình C - Lập Trình C

Bắt đầu học


[Nâng cao] Tìm kiếm chuỗi trong chuỗi - Lập trình C

Bắt đầu học


Bài tập ôn tập String - Lập trình C

Bắt đầu học


Video Bài tập ôn tập String - Lập trình C

Bắt đầu học


Video Tìm hiểu Struct trong C | Khóa học lập trình C

Bài tập - Quản lý hình chữ nhật - struct trong C - Lập trình C

Bắt đầu học


Bài tập FILE - Lập trình C

Bắt đầu học


[Test] Kiểm tra 60 phút - Lập trình C

Bắt đầu học


[Lập Trình C] Kết Quả Thi Thực Hành

Quản lý sinh viên - Assignment - Lập trình C

Quản lý rạp chiếu phim quốc gia - Assignment - Lập trình C

Video Hướng dẫn chừa bài tập quản lý rạp chiều phím - Lập trình C

Bắt đầu học


Quản lý sinh viên 2 - Assigment - Lập trình C

Quản lý tranh - quản lý gallery - Lập trình C

Video Quản lý tranh - quản lý gallery - Lập trình C

Quản lý motobike - Quản lý xe cộ - Lập trình C

Quản lý sách - Lập trình C

Ôn tập tổng quát - quản lý sinh viên - Lập trình C

Quản lý đồ điện tử - Lập trình C

Bắt đầu học


Video Chương trình quản lý tỷ phú bằng C | Khóa học lập trình C

Bắt đầu học


1000 Bài tập C - Lập Trình C

Bắt đầu học


Phản hồi từ học viên

5

Tổng 0 đánh giá
Đánh giá
Câu hỏi thường gặp

B1. B1. Tạo tài khoản -> Sử dụng để học online
B2. Đăng ký học
B3. Hoàn thành mua khoá học
B4. Thanh toán theo hướng dẫn
B5. Đợi chúng tôi kiểm tra thông tin và thêm bạn vào lớp học

Chào mừng các anh chị và các bạn gia nhập đội ngũ Giảng viên QViet. Anh chị vui lòng đăng ký theo hướng dẫn sau:
Bước 1: Truy cập website https://qviet.vn/teacher/form
Bước 2: Điền thông tin theo yêu cầu. Để bản đăng ký được duyệt nhanh nhất, anh chị hãy điền đủ thông tin nhé.
Bước 3: Click vào "đăng ký ngay" để hoàn thành
Lưu ý:
Link video bài giảng mẫu: Video bài giảng mẫu là căn cứ để Trắc Nghiệm Việt duyệt về hình thức và chất lượng giảng dạy. Vì vậy anh chị hãy điền link này để đăng ký được duyệt nhanh nhất nhé.
Anh chị cũng nên mô tả kỹ về kinh nghiệm giảng dạy để Trắc Nghiệm Việt đánh giá nhé.
Chúc các anh chị và các bạn thành công, sớm gia nhập đội ngũ giảng viên Trắc Nghiệm Việt!

Hình thức học như thế nào?
Việc tạo thói quen học tập sẽ giúp bạn tăng khả năng đạt được mục tiêu. Dành thời gian để học và nhận lời nhắc bằng cách sử dụng công cụ quản lý học tập của bạn.
Bước 1: Truy cập mục tài khoản, đăng nhập và chọn Quản lý học tập và ấn Thêm lịch học
Bước 2: Cài đặt lịch học tập của bạn:
- Đặt tiêu đề và chọn khóa học muốn tạo lịch học sau đó ấn tiếp tục.
- Cài đặt tần suất học, thời gian học, thời gian bắt đầu học, lịch thông báo nhắc nhở trước lúc bắt đầu học, ngày kết thúc sau đó bạn ấn tiếp tục.
- Bạn kiểm tra lại lịch học tập lần nữa, nếu đúng bạn ấn Hoàn thành.
- Nếu muốn chỉnh sửa, bạn ấn mục Quay lại và chỉnh lại.
- Khi tạo xong bạn có thể ấn thanh ngang bên phải để xóa, sửa lịch học.
Việc lên lịch học sẽ giúp em bạn dễ dàng đạt được các mục tiêu mong muốn, tăng hiệu quả học tập. Đặc biệt, khi bạn học được 90% nội dung khóa học, bạn sẽ nhận chứng nhận hoàn thành khóa học.

Hình thức học tại Trắc Nghiệm Việt
1. Học như thế nào?
- Khóa học tại Trắc Nghiệm Việt được học **online** trên điện thoại hoặc máy tính có kết nối Internet.
- Các video bài giảng đã được biên tập sẵn, học viên có thể học bất cứ lúc nào, không giới hạn thời gian và số lần học.
- Chỉ cần đăng ký và thanh toán một lần.

2. Có thể học trên nhiều thiết bị không?
- Học viên có thể đăng nhập và học trên nhiều thiết bị khác nhau (điện thoại, máy tính, máy tính bảng). Tuy nhiên, tại cùng một thời điểm chỉ **một thiết bị** được phép xem video.
- Truy cập website: https://qviet.vn để đăng nhập và học.
- Với điện thoại hoặc máy tính bảng, học viên có thể tải ứng dụng Trắc Nghiệm Việt tại: https://qviet.vn

3. Có thể học trên Smart TV không?
- Trắc Nghiệm Việt đang phát triển để hỗ trợ học trực tiếp trên Smart TV. Hiện tại, tùy theo từng dòng TV mà có thể mở website và học được hoặc không.
- Bạn có thể thử bằng cách mở trình duyệt trên TV và truy cập: https://qviet.vn
- Trải nghiệm học tập tốt nhất hiện nay là trên **điện thoại** và **máy tính**.

4. Thời hạn sử dụng khóa học?
- Sau khi đăng ký, học viên sẽ sở hữu khóa học **vĩnh viễn**, có thể học đi học lại không giới hạn.

5. Có được tải khóa học về thiết bị không?
- Video bài giảng thuộc bản quyền của Trắc Nghiệm Việt và giảng viên. Học viên **không được tải xuống** dưới bất kỳ hình thức nào để tránh việc phát tán trái phép.
- Khóa học là tài sản trí tuệ và công sức của giảng viên, mong học viên hiểu và tôn trọng quyền sở hữu này.

Học viên có thể trao đổi với giảng viên qua đâu?
- Bên dưới mỗi video có mục **Thảo luận**, bạn tích chọn và đặt câu hỏi tại đây. Thông thường trong vòng 24h giảng viên sẽ phản hồi lại bạn.
- Để xem câu trả lời của giảng viên, bạn vào mục **Thảo luận** của bài học đã đặt câu hỏi và tích vào mục trả lời để xem.

Học viên có thể liên hệ trực tiếp với giảng viên qua điện thoại, email, Facebook không?
- Khóa học online, giảng viên có hàng nghìn học viên trên cả nước nên việc liên hệ trực tiếp với giảng viên qua điện thoại là không tiện và Trắc Nghiệm Việt cam kết bảo mật thông tin cá nhân của giảng viên.
- Đa phần các khóa học, giảng viên hỗ trợ học viên qua **mục Thảo luận**. Một số khóa học giảng viên có thể hỗ trợ thêm qua email, Facebook, Zalo hoặc nhóm hỗ trợ trên Facebook. Trong những trường hợp này, giảng viên và Trắc Nghiệm Việt sẽ cung cấp thông tin liên hệ phù hợp.
Bình luận


Miễn Phí

999,000 VNĐ

Tổng quan khóa học
  • Bài học 67
  • Thời gian Linh hoạt
  • Mức độ Mới bắt đầu
  • Ngôn ngữ Tiếng việt
  • Thời lượng Trọn đời
  • Chứng chỉ Không

avatar
Trần Văn Điệp

Founder tại QViet.vn

  • 5.0/5.0

Mình là Điệp, mình là lập trình viên Full Stack. Hiện mình là Senior Developer, mình là người yêu thích lập trình và viết các mã lệnh và yêu thích khi tạo ra những sản phẩm cho mình. Mình luôn thích thú mỗi khi tối ưu lại chức năng của từng chức năng, làm sao để nó trở lên tối ưu và smooth. Làm tăng trải nghiệm người dùng. Mình cũng rất thích tìm hiểu các công nghệ mới, tìm hiểu các tính năng mới trong các bản nâng cấp mới. Mảng mình làm việc lâu nhất là Mobile (Android & iOS). Mình là người thích chia sẻ kiến thức, những gì mình biết đều muốn chia sẻ ra. Blog này cũng là nơi mình chia sẻ các kiến thức và công nghệ mình đã làm trong các dự án. Blog mình hướng tới là chia sẻ kiến thức kết hợp với trải nghiệm thực tế khi làm ở doanh nghiệp.

Đã sao chép!!!
QViet - Hệ thống học lập trình, luyện thi, kiểm tra trắc nghiệm trực tuyến uy tín tại Việt Nam.
Hotline: 0967025996
QViet - Hệ thống học lập trình, luyện thi, kiểm tra trắc nghiệm trực tuyến uy tín tại Việt Nam. Chat FB với chúng tôi
QViet - Hệ thống học lập trình, luyện thi, kiểm tra trắc nghiệm trực tuyến uy tín tại Việt Nam.