Cách Khai Báo Hằng Và Biến C++ Hiệu Quả

hằng và biến C++

Nếu các bạn chưa từng đụng vào bất kỳ ngôn ngữ lập trình nào thì hằng và biến sẽ khá lạ lẫm và phức tạp. Tuy vậy, để tiếp cận chúng thì không phải quá khó khăn và hãy cùng chúng tôi khám phá cách khai báo hằng và biến nhé. Bài viết này sẽ giúp bạn hiểu rõ làm sao để khai báo hằng và biến C++ nhanh chóng.

Làm thế nào để khai báo biến trong C++?

Hằng và biến C++ được chia làm hai phần tách biệt, nhưng chúng vẫn có vài điểm tương đồng nhau. Đầu tiên, hãy tìm hiểu về biến trước nhé. Biến là biểu thị cho vùng nhớ lưu trữ dữ liệu trên RAM. Thông thường, nó sẽ chứa giá trị đầu vào, giá trị biểu thức hay thực hiện những phép tính toán. Trên thực tế, chúng ta có thể nhận dạng nó qua tên biến kèm theo kiểu dữ liệu.

Khai báo biến trong chương trình C++
Hình 1. Khai báo biến trong chương trình C++

Bên cạnh đó, một nguyên tắc cần phải nhớ là biến nên được khai báo trước khi dùng. Lúc này, hệ thống có thể cấp phát vùng nhớ tự động khi bạn khai báo biến đó. Sau đây, hãy theo chúng tôi tìm hiểu về cú pháp khai báo biến trong C++:

Cú pháp:

<kiểu dữ liệu> <tên biến>;

Ví dụ 1: Khai báo một biến kiểu số nguyên với tên ‘myInt’ thì dùng cú pháp sau:

int myInt;

Lúc này, các bạn sẽ thấy ‘int’ đóng vai trò là kiểu dữ liệu. ‘MyInt’ được coi như tên biến. Về bản chất, người dùng có thể tạo giá trị cho biến trong quá trình khai báo thông qua việc dùng cú pháp bên dưới:

<kiểu dữ liệu> <tên biến> = <giá trị>;

Ví dụ 2: Khai báo một biến kiểu số nguyên và giá trị gán vào là 10.

int myInt = 10;

Ngoài ra, các bạn cũng cần nhớ rõ tên biến nên đảm bảo theo các quy tắc nhất định tiêu biểu như nó chỉ được bắt đầu bằng một chữ cái hay ký tự gạch dưới. Thậm chí, người dùng tuyệt đối không được xài những ký tự lạ như dấu chẩm hoặc dấu cách.

Thế nào là giá trị khởi tạo mặc định của biến trong C++?

Không những phải hiểu rõ hằng và biến C++, khi bàn về giá trị khởi tạo mặc định của biến trong C++, nó thường lệ thuộc vào những kiểu dữ liệu tương ứng với biến đó. Các biến cục bộ sẽ không được tạo ra với giá trị mặc định và thường mang giá trị bất kỳ trong ngôn ngữ lập trình C++.

Ngược lại, những biến toàn cục hay biến static có thể được khởi tạo với giá trị mặc định phù hợp với những kiểu dữ liệu của chúng. Những giá trị mặc định của biến trong C++ sẽ được trinh bày sau đây:

– Kiểu số nguyên (int, short, long, unsigned long, và unsigned short): 0

– Kiểu số thực (double, float, và long double): 0.0

– Kiểu ký tự (char): null character (‘\0’)

– Kiểu boolean (bool): false

– Kiểu con trỏ(pointer): null pointer (nullptr)

Ví dụ: Hãy khai báo biến toàn cục với kiểu số nguyên

int globalInt;

Dòng code trên cho thấy biến ‘globalInt’ được khởi tạo với giá trị mặc định: 0

Tầm vực của biến là gì?

Tầm vực của biến được hiểu là phạm vi của biến đó khi được truy cập và khai thác. Dựa trên những phương pháp khai báo biến, tầm vực của biến sẽ thường là cục bộ (local), toàn cục (global) hay đối với những struct/class thì sẽ là tầm vực trên một thành viên.

Tầm vực của các biến
Hình 2. Tầm vực của các biến

1. Tầm vực của biến cục bộ

Biến cục bộ sẽ được sử dụng để khai báo trong một hàm hay một khối lệnh và thường được truy cập trong phạm vi của hàm/khối lệnh này. Thông thường, tầm vực của biến cục bộ sẽ khởi đầu từ điểm khai báo và kết thúc khi hàm/khối lệnh đó dừng lại.

Ví dụ:

#include <iostream>

using namespace std;

int main() {

int localVar = 20; // biến cục bộ

cout << "Local variable: " << localVar << endl;

return 0;

}

2. Tầm vục của biến toàn cục

Biến toàn cục sẽ được khai báo ở bên ngoài ở những hàm, struct, hay class và hoàn toàn được sử dụng bởi bất cứ hàm nào trong C++. Tầm vực của biến toàn cục sẽ khởi đầu từ điểm khai báo và kết thúc khi dừng chương trình.

#include <iostream>

using namespace std;

int globalVar = 10; // biến toàn cục

int main() {

cout << "Global variable: " << globalVar << endl;

return 0;

}

3. Tầm vực của thành viên

Khi xét đến struct hay class thì những biến thành viên sẽ được sử dụng để khai báo trong phạm vi của một struct hay class. Tiếp đến, nó chỉ truy cập thông qua những đối tượng trên struct hay class đó.

Ví dụ:

#include <iostream>

using namespace std;

class MyClass {

public:

int memberVar = 30; // biến thành viên

};

int main() {

MyClass myObj;

cout << "Member variable: " << myObj.memberVar << endl;

return 0;

}

Hằng trong C++

Hằng trong C++ là một giá trị mặc định và nó không đổi khi đã gán giá trị vào. Cũng không quá khác biệt so với biến, hằng được sử dụng để khai báo với các kiểu dữ liệu khác nhau. Trên thực tế, việc dùng hằng trong khối mã sẽ thuận tiện cho việc bảo tì và gia tăng tính đúng đắn bởi vì những giá trị hằng sẽ cố định hay bởi những lỗi nhỏ nhặt trong lúc bạn thực thi chương trình.

Hằng và biến C++ không quá khác biệt nhau.
Hình 3. Hằng và biến C++ không quá khác biệt nhau.

Ví dụ: Hãy khai báo và dùng hằng trong C++

#include <iostream>

using namespace std;

int main() {

const int maxNum = 100; // khai báo hằng số

const float pi = 3.14; // khai báo hằng số

cout << "Max number: " << maxNum << endl;

cout << "Pi: " << pi << endl;

// Không thể thay đổi giá trị của hằng

// maxNum = 200; // Lỗi biên dịch

// pi = 3.1415; // Lỗi biên dịch

return 0;

}

‘maxNum’ và ‘pi’ sẽ được dùng để khai báo là những hằng số kiểu số nguyên và số thực liên quan. Giá trị hằng số sẽ không bị biến đổi thông qua việc gán giá trị mới cho nó sau khi bạn đã khai báo. Cuối cùng, khi đang trong quá trình thực thi chương trình, ‘maxNum’ và ‘pi’ sẽ hiển thị giá trị ra màn hình.

Lời kết

Hằng và biến C++ cơ bản cũng không quá trừu tượng như đại đa số các bạn mới lập trình hay nghĩ. Dựa vào nội dung ở phía trên, chúng tôi nghĩ các bạn sẽ không quá mất nhiều thời gian để hiểu và vận dụng chúng trong chương trình C++ sau này.

Cuối cùng, nếu các bạn có gặp khó khăn hay thắc mắc gì liên quan đến hằng và biến C++, xin vui lòng đóng góp ý kiến ở bên dưới bài viết để chúng tôi hoàn thiện hơn trong thời gian tới. Xin chân thành cám ơn!

 

Rate this post

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *