VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • C#
  • Python
  • PHP
  • Excel
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Eclipse
    • Phần mềm tiện ích
    • Cấu trúc DL&GT
    • Selenium Test

C Cơ Bản

Ngôn ngữ lập trình C là gì? Lịch sử của C Các tính năng của C Cài đặt môi trường lập trình C Chương trình C đầu tiên Flow của chương trình C Biến trong C Các kiểu dữ liệu trong C Ép kiểu trong C Từ khóa trong C Các toán tử trong C Comment trong C Các hằng số trong C printf và scanf trong C Ký tự đặc biệt trong C Xử lý lỗi trong C Tệp Header trong C Toán tử sizeof trong C

Câu Lệnh Điều Khiển C

Mệnh đề if-else Mệnh đề switch Vòng lặp for Vòng lặp while Vòng lặp do-while Lệnh Break Lệnh Continue Lệnh Goto

Con Trỏ

Con trỏ (pointer) trong C Con trỏ trỏ tới con trỏ Con trỏ và mảng trong C Quản lý bộ nhớ trong C

Structure & Union

Structure trong C Mảng của structure trong C Structure lồng nhau trong C Union trong C

C Math

Hàm math cơ bản trong C

C Function

Hàm trong C Hàm do người dùng định nghĩa Các kiểu hàm trong C Đệ quy trong C Call by value Call by reference

C Array

Mảng (array) trong C Mảng 2 chiều trong C Truyền mảng vào hàm
Chuỗi (String) Trong C
File I/O Trong C
Bài Tập C Có Lời Giải

Bài Học Bổ Sung

Enumeration (enum) trong C Preprocessors trong C Bảng ASCII
1 / 3
❮ ❯

Call by reference - gọi hàm theo tham chiếu trong C


Call by value – gọi hàm theo giá trị trong C
Mảng (array) trong C

Phương thức call by reference trong C của các đối số truyền cho một hàm sao chép địa chỉ của một đối số vào tham số chính thức. Bên trong hàm, địa chỉ được sử dụng để truy cập đối số thực tế được sử dụng trong cuộc gọi hàm. Nó có nghĩa là những thay đổi được thực hiện cho tham số ảnh hưởng đến đối số đã truyền.

Để chuyển một giá trị theo tham chiếu, các con trỏ đối số được chuyển tới các hàm giống như bất kỳ giá trị nào khác. Vì vậy, bạn cần phải khai báo các tham số hàm như các kiểu con trỏ như trong hàm swap(), hoán đổi các giá trị của hai biến số nguyên được trỏ tới, bởi các đối số của chúng. Ví dụ:

#include <stdio.h>
 
/* khai bao prototype */
void swap(int *x, int *y);
 
int main() {
    // dinh nghia cac bien local
    int a = 100;
    int b = 200;
 
    printf("Truoc swap, gia tri cua a : %d\n", a );
    printf("Truoc swap, gia tri cua b : %d\n", b );
 
    // goi ham swap() de hoan doi cac gia tri
    swap(&a, &b);
 
    printf("Sau swap, gia tri cua a : %d\n", a );
    printf("Sau swap, gia tri cua b : %d\n", b );
 
    return 0;
}

/* 
 * ham hoan doi cac gia tri 
 */
void swap(int *x, int *y) {
    int temp;

    temp = *x;
    *x = *y;
    *y = temp;

    return;
}

Kết quả:

Truoc swap, gia tri cua a : 100
Truoc swap, gia tri cua b : 200
Sau swap, gia tri cua a : 200
Sau swap, gia tri cua b : 100

Kết quả cho thấy sự thay đổi bên trong hàm swap() cũng đã phản ánh bên ngoài hàm, không giống như call by value mà các thay đổi không phản ánh bên ngoài hàm.


Call by value – gọi hàm theo giá trị trong C
Mảng (array) trong C

Recent Updates

Xuất dữ liệu ra màn hình console trong JavaCài đặt môi trường JavaLinkedList trong javaArrayList trong javaXử lý duplicate trong SQLPhím tắt hay dùng trong ExcelBảo mật tập tin ExcelDịch trang tính trong ExcelIn trang tính trong ExcelHàm VLOOKUP trong ExcelĐối tượng đồ họa trong ExcelSử dụng macro trong ExcelSắp Tết 2026 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2026?

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn
Danh Sách Bài Học

Học Java | Hibernate | Spring
Học Excel | Excel VBA
Học Servlet | JSP | Struts2
Học C | C++ | C#
Học Python
Học SQL

Bài Tập Có Lời Giải

Bài tập Java
Bài tập C
Bài tập C++
Bài tập C#
Bài tập Python
Ví dụ Excel VBA

Câu Hỏi Phỏng Vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml