समस्या
C प्रोग्रामिंग करते समय कुछ कानूनी और अवैध घोषणाओं और इनिशियलाइज़ेशन का उल्लेख करें?
कानूनी और अवैध बयानों पर चर्चा करने से पहले आइए देखें कि सी में वेरिएबल्स को कैसे घोषित और प्रारंभ किया जाए।
परिवर्तनीय घोषणा
परिवर्तनीय घोषणा का सिंटैक्स निम्नलिखित है -
सिंटैक्स
Datatype v1,v2,… vn;
जहाँ v1, v2,...vn चरों के नाम हैं।
उदाहरण के लिए, अंतर राशि;
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;
डेटा प्रकारों का उपयोग करके वेरिएबल्स को घोषित करें, हम डिक्लेरेशन के समय वैल्यू को इनिशियलाइज़ कर सकते हैं। इसलिए, मूल्यों को आरंभ और घोषित करते समय हमें नियमों का पालन करना होगा
आइए सी में कानूनी और अवैध घोषणाओं और इनिशियलाइज़ेशन के कुछ उदाहरण देखें।
उदाहरण
-
चार ए=65;
यह एक कानूनी कथन है क्योंकि हम एक चर को एक स्थिरांक के साथ प्रारंभ कर सकते हैं।
-
स्टेटिक इंट 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;