Gán biến trong C | Laptrinhcanban.com

Gán biến trong C

Sau khi gán một giá trị cho biến trong C, chúng ta có thể sử dụng biến để đại diện cho giá trị đó trong chương trình. Việc gán biến trong C có thể thực hiện cùng lúc hoặc sau khi bạn khai báo biến trong C. Bạn có thể gán một giá trị khác cho một biến đã xác định, hoặc có gán giá trị một biến cho một biến khác. Hãy cùng học cách gán biến trong C sau bài học này.

Gán biến trong C bằng một giá trị cụ thể

Sau khi khai báo biến trong C, chúng ta có thể gán một giá trị cụ thể cho biến đó bằng cách sử dụng toán tử bằng = như sau:

name = value;

Trong đó:

  • name là tên biến đã được khai báo
  • value là giá trị để gán vào biến. Lưu ý là kiểu của giá trị không nhất thiết phải giống với kiểu giá trị của biến khi khai báo.

Chúng ta có thể gán giá trị cho biến ngay sau khi khai báo nó như sau:

int num1;
num1 = 10;

Hoặc là chúng ta có thể khai báo biến, sau đó làm một số xử lý khác, sau đó gán giá trị cho biến đó khi cần sử dụng. Ví dụ:

int num1;
printf("%s", "hello");
num1 = 10;

Chúng ta cũng có thể gán giá trị ban đầu cho biến ngay trong khi khởi tạo biến trong C như ví dụ sau:

int num1 = 10;
int num2 =11,num3= 12,num4 = 13;

Sau khi đã gán giá trị cho biến, chúng ta có thể sử dụng biến này thay cho giá trị trong chương trình. Ví dụ:

#include <stdio.h>
int main(void){
int num1;
num1 = 10;

printf("%d", num1);//10
return 0;
}

Lưu ý là chúng ta không nhất thiết phải gán một giá trị có kiểu giống với kiểu của biến khi khai báo mà thôi. Nếu gán một giá trị thuộc kiểu dữ liệu khác so với khi khai báo biến thì kiểu giá trị của biến sẽ tự động thay đổi theo kiểu có độ chính xác cao hơn.

Ví dụ cụ thể, chúng ta khai báo một biến ở kiểu int nhưng vẫn có thể gán một giá trị ở kiểu chuỗi vào nó như sau:

int num1;
num1 = "Hanoi";

Cách chuyển kiểu dữ liệu khi gán như vậy được gọi là cast trong C và chúng ta sẽ học nó cụ thể trong các bài sau.

Gán biến trong C bằng giá trị của một biến khác

Ngoài cách gán một giá trị cụ thể vào biến như trên, chúng ta cũng có thể gán giá trị một biến vào một biến khác trong C.

Ví dụ cụ thể:

#include <stdio.h>
int main(void){
int num1, num2 ;
num1 = 100;
num2 = num1;

printf("num1=%d\n",num1); //num1=100
printf("num2=%d\n",num2); //num2=100
return 0;
}

Ở đây, sau khi khai báo 2 biến num1, num2 thì chúng ta chỉ gán giá trị cụ thể là 100 vào biến num1. Tuy nhiên bằng cách gán biến bằng một biến khác, chúng ta hoàn toàn có thể sử dụng biến num1 để gán giá trị vào biến num2 như ở trên.

Tuy nhiên cần lưu ý, nếu lúc này chúng ta gán một giá trị mới vào biến num1, thì giá trị của biến num2 vẫn sẽ không thay đổi.

#include <stdio.h>
int main(void){
int num1, num2 ;
num1 = 100;
num2 = num1;

printf("num1=%d\n",num1);//num1=100
printf("num2=%d\n",num2);//num2=100

num1 = 300;

printf("num1=%d\n",num1);//num1=300
printf("num2=%d\n",num2);//num2=100

return 0;
}

Để lý giải điều này, hãy nhớ lại khái niệm của biến trong C:

biến trong C giống như thẻ ghi địa chỉ của dữ liệu. Các dữ liệu được lưu giữ tại các vị trí riêng biệt trong bộ nhớ với địa chỉ khác nhau, và biến trong C là thẻ dùng để ghi địa chỉ của dữ liệu đó trong bộ nhớ. Khi sử dụng dữ liệu, chúng ta sẽ truy cập vào địa chỉ được ghi trên biến của dữ liệu đó.
Nguồn: Biến trong C là gì

Tại thời điểm chưa thay đổi giá trị num1, thì cả hai biến num1num2 đều chỉ chung một địa chỉ tới vùng ghi dữ liệu 100 trong bộ nhớ.

Tuy nhiên sau khi thay đổi giá trị của num1 thành 300, thì đơn giản là num1 đã bị thay đổi thành địa chỉ tới vùng ghi dữ liệu 300 trong bộ nhớ, trong khi num2 vẫn giữ nguyên, là địa chỉ tới vùng lưu trữ dữ liệu 100 trong bộ nhớ.

Do đó kể cả khi num1 thay đổi thì giá trị của num2 cũng không bị thay đổi như ở trên.

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn cách gán biến trong C rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về C trong các bài học tiếp theo.

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.