Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

การประกาศและการเริ่มต้นทางกฎหมายและผิดกฎหมายในC


ปัญหา

พูดถึงการประกาศและการเริ่มต้นทางกฎหมายและผิดกฎหมายบางส่วนขณะทำการเขียนโปรแกรม C หรือไม่

ก่อนพูดคุยเรื่องกฎหมายและกฎหมาย เรามาดูวิธีการประกาศและเริ่มต้นตัวแปรใน C.

การประกาศตัวแปร

ต่อไปนี้เป็นรูปแบบการประกาศตัวแปร -

ไวยากรณ์

Datatype v1,v2,… vn;

โดยที่ v1, v2,...vn คือชื่อของตัวแปร

ตัวอย่างเช่น ผลรวม int;

float a,b;

ตัวแปรสามารถประกาศได้สองวิธี -

  • ประกาศท้องถิ่น

  • ประกาศระดับโลก

'การประกาศในเครื่อง' คือการประกาศตัวแปรภายในบล็อกหลัก และค่าของมันจะอยู่ในบล็อกนั้น

'การประกาศทั่วโลก' คือการประกาศตัวแปรนอกบล็อกหลักและค่าของตัวแปรนั้นสามารถใช้ได้ตลอดทั้งโปรแกรม

ตัวอย่างเช่น

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

การเริ่มต้นตัวแปร

ต่อไปนี้เป็นไวยากรณ์ของการเริ่มต้นตัวแปร -

ไวยากรณ์

Datatype v1=number;

ตัวอย่างเช่น

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

ประกาศตัวแปรโดยใช้ชนิดข้อมูล เราสามารถกำหนดค่าเริ่มต้นได้ ณ เวลาที่ประกาศ ดังนั้นในขณะที่เริ่มต้นและประกาศค่า เราจำเป็นต้องปฏิบัติตามกฎ

มาดูตัวอย่างการประกาศและการเริ่มต้นทางกฎหมายและผิดกฎหมายใน C

ตัวอย่าง

  • อักขระ a=65;

    เป็นคำชี้แจงทางกฎหมายเพราะเราสามารถเริ่มต้นตัวแปรที่มีค่าคงที่ได้

  • คง int p=20, q=p*p

    เป็นคำสั่งที่ผิดกฎหมายเพราะตัวแปรสแตติกต้องเริ่มต้นโดยค่าคงที่ แต่ที่นี่ q ไม่ได้เริ่มต้นด้วยค่าคงที่

  • สองเท่า x=30 *PI

    เป็นคำชี้แจงทางกฎหมายเพราะที่นี่เราเริ่มต้นตัวแปรด้วยนิพจน์คงที่

  • เส้นผ่านศูนย์กลางสองเท่า []={1,PI/2, PI, 2*PI/2}

    เป็นคำชี้แจงทางกฎหมาย ที่นี่เราเริ่มต้นองค์ประกอบอาร์เรย์ด้วยค่าคงที่

โปรแกรมตัวอย่าง

ด้วยการประกาศทางกฎหมาย &การเริ่มต้น

#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);
}

ผลลัพธ์

1 1 0 0 0 1

ตัวอย่าง

ด้วยการประกาศและการเริ่มต้นที่ผิดกฎหมาย -

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

ผลลัพธ์

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