Computer >> Máy Tính >  >> Lập trình >> lập trình C

Khai báo và khởi tạo hợp pháp và bất hợp pháp trong C

Vấn đề

Đề cập đến một số khai báo và khởi tạo hợp pháp và bất hợp pháp trong khi thực hiện lập trình C?

Trước khi thảo luận về các tuyên bố hợp pháp và bất hợp pháp, hãy xem cách khai báo và khởi tạo các biến trong C.

Khai báo biến

Sau đây là cú pháp của khai báo biến -

Cú pháp

Datatype v1,v2,… vn;

Trong đó v1, v2, ... vn là tên của các biến.

Ví dụ: int sum;

float a,b;

Biến có thể được khai báo theo hai cách -

  • khai báo địa phương

  • tuyên bố toàn cầu

'Khai báo cục bộ' đang khai báo một biến bên trong khối chính và giá trị của nó có sẵn trong khối đó.

'Khai báo toàn cục' là khai báo một biến bên ngoài khối chính và giá trị của nó có sẵn trong suốt chương trình.

Ví dụ:

int a, b; /* global declaration*/
main ( ){
   int c; /* local declaration*/
   - - -
}

Khởi tạo biến

Sau đây là cú pháp khởi tạo biến -

Cú pháp

Datatype v1=number;

Ví dụ:

int sum=0;
float a=1,b=4.5;

Khai báo các biến bằng cách sử dụng các kiểu dữ liệu, chúng ta có thể khởi tạo giá trị tại thời điểm khai báo. Vì vậy, trong khi khởi tạo và khai báo các giá trị, chúng ta cần tuân theo các quy tắc

Hãy xem một số ví dụ về khai báo và khởi tạo hợp pháp và bất hợp pháp trong C.

Ví dụ

  • Biểu đồ a =65;

    Đây là một câu lệnh hợp pháp vì chúng ta có thể khởi tạo một biến với một hằng số.

  • Static int p =20, q =p * p

    Đây là một câu lệnh không hợp lệ vì biến tĩnh phải được khởi tạo bằng một hằng số nhưng ở đây q không được khởi tạo bằng một hằng số.

  • Nhân đôi x =30 * PI

    Đây là một tuyên bố hợp pháp vì ở đây chúng tôi đã khởi tạo một biến có biểu thức không đổi.

  • Đường kính đôi [] ={1, PI / 2, PI, 2 * PI / 2}

    Đây là một câu lệnh hợp pháp, ở đây chúng tôi khởi tạo các phần tử mảng với hằng số.

Chương trình mẫu

Có khai báo và khởi tạo hợp pháp -

#include<stdio.h>
void main ( ){
   int a,b;
   a= 10, b = 20;
   printf (" %d", a<b);
   printf (" %d", a<=b);
   printf (" %d", a>b);
   printf (" %d", a>=b);
   printf (" %d", a = =b);
   printf (" %d", a ! =b);
}

Đầu ra

1 1 0 0 0 1

Ví dụ

Với khai báo và khởi tạo bất hợp pháp -

#include <stdio.h>
int main(){
   static int p=20, q=p*p;//illegal initialization
   printf("%d%d",p,q);
   return 0;
}

Đầu ra

error will be occurred
error: initializer element is not constant
   static int p=20, q=p*p;