Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 2 của 2
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Tìm hiểu về từ khóa const - const với nhiều ý nghĩa

    Lâu lắm rồi langman mới có dịp viết bài viết tut trên C việt, có gì ko nên ko phải mong được các bạn bỏ qua cho. langman giờ già rồi, kém xa các 9x mới. Chả còn gì cả, chỉ còn 1 tí kinh nghiệm mong được chia sẻ với các bạn, xin các bạn chém nhẹ nhàng.....

    (Do tạm thời mình ko có quyền trên box C nên mình sẽ trình bày ở đây, sau khi hoàn thiện mình sẽ move về box C)


    Chúng ta đã lập trình nhiều rồi, const thì ai chả biết, trình với trả bày dài dòng loằng ngoằng làm chi cho mệt xác [IMG]images/smilies/lick.gif[/IMG][IMG]images/smilies/lick.gif[/IMG][IMG]images/smilies/lick.gif[/IMG]



    const trong C
    I. Cơ bản
    Cơ bản nhất, const là 1 từ khóa, và chỉ tồn tại trong câu khai báo hoặc định kiểu(ép kiểu). Từ khóa const có ý nghĩa khai báo, xác định hằng
    (có thể là hằng số, hoặc loại hằng khác)
    Chú ý : <font color="red">hằng
    ở đây có ý nghĩa là 1 đại lượng ko đổi nào đó


    Mã:
    #include <stdio.h>#include <conio.h> void main(void){    const int a=2;    printf("%d",a);    getch();}// bài viết được biên soạn bởi langman-congdongcviet.com - Bùi Tấn Quang - 1987
    II. Sự khác nhau giữa hằng và biến
    Mới các bạn tham khảo ví dụ sau ta thấy
    + Nếu ta so sánh 2 biến, đầu tiên, sẽ đưa giá trị của biến thứ nhất vào trong thanh ghi eax, sau đó so sánh giá trị của thanh ghi eax với biến thứ 2, ở đây ta cần chú ý đó là biến thứ 2 lúc này đang nằm trên stack, cụ thể là nằm trên bộ nhớ RAM
    + Nếu ta so sánh biến với 1 hằng, ta thấy việc so sánh sẽ đơn giản hơn rất nhiều




    III. Nếu theo lời ví dụ nói thì tôi dùng const để làm gì ?
    Theo như lời nói trên thì tôi dùng const làm quái gì cho mệt, thay luôn con số vào đó cho nhanh có phải hơn ko nhỉ ?
    Vâng thưa các bạn đối với một bài toán, 1 ví dụ khá nhỏ ở đây của tôi, thì việc dùng const có vẻ ko mang lại lợi ích gì nhỉ
    nhưng đối với 1 bài toán khá dài, 1 vấn đề lớn, thì ta sẽ ko làm bằng cách gõ luôn số má vào, mà ta sẽ chia làm nhiều khối, có 1 khối bao gồm các định nghĩa const riêng.
    sau naỳ, khi có yêu cầu thay đổi về thì ta chỉ cần thay đổi giá trị tại 1 chỗ là ok!



    Mã:
    const int hangsophuthuoc=9; // khi cần thay đổi hằng số này thì ta chỉ cần thay đổi ở đâyvoid ham1(void){    //dung hangsophuthuoc}void ham2(void){    //dung hangsophuthuoc}void ham3(void){    //dung hangsophuthuoc}void ham4(void){    //dung hangsophuthuoc}void ham5(void){    //dung hangsophuthuoc}void ham6(void){    //dung hangsophuthuoc}
    IV. Tôi có thể dùng macro để định nghĩa mà, tại sao tôi phải dùng const làm gì?
    Vâng bạn hoàn toàn có thể sử dụng macro, nhưng
    + macro có thể được định nghĩa lại tại bất kì chỗ nào

    Mã:
    #define CVIET   3 //something here  #undef CVIET#define CVIET 5
    + macro ko giấu được giá trị định nghĩa sẵn trong 1 lib file
    .............................

    + macro dùng ko cẩn thận thì sẽ...

    Mã:
    #include <iostream>using namespace std;#include <conio.h>  #define HANGSO  2+4+4const int hangso=2+4+4; void main(void){    int a=HANGSO*2;    int b=hangso*2;     cout<<"a "<<a<<endl;    cout<<"b "<<b;             getch();}
    V. Những trường hợp cần dùng const trong C
    </font>

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Đề nghị các bạn ko spam cho đến khi bài viết hoan thành

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •