2010-08-12 8 views
14

लिनक्स प्लेटफ़ॉर्म पर चल रहे सी में बूल डेटाटाइप का एक चर घोषित करने के लिए कैसे करें।लिनक्स प्लेटफॉर्म पर सी में बूल वैरिएबल घोषित करना

#include<stdio.h> 
#include<string.h> 

bool factors[1000] 
void main() 
{ 
} 
+5

शून्य मुख्य()? वास्तव में? –

उत्तर

5

सी एक bool प्रकार नहीं है: मैं निम्नलिखित लेकिन इसकी एक त्रुटि देने की कोशिश की। false के लिए 0 और true के लिए 0 का उपयोग करके आप int का उपयोग कर सकते हैं।

+0

मैंने सोचा कि सी 99 सी –

+0

सी 99 में बूल है। # शामिल ninjalj

+0

हां, सी के पास एक बूल प्रकार है। यह _Bool है, और #include करके इसका उपयोग किया जा सकता है। याद रखें, सी 99 _IS_ सी –

-2

सी 99 में एक बूल प्रकार है। लेकिन मुझे आश्चर्य है कि आप सी ++ में अपना कोड क्यों नहीं लिख सकते हैं। आपको सी ++ की सभी उन्नत ओओपी सुविधाओं का उपयोग करने की आवश्यकता नहीं है। आप "सी शैली" कोड लिख सकते हैं और इसे एक सी ++ कंपाइलर के साथ संकलित कर सकते हैं।

+0

+1 से बचें। संवेदनशील उत्तर एक सी संकलक ऐसा कर सकता है जो सी ++ कंपाइलर द्वारा स्वीकार नहीं किया जाएगा, सी ++ कंपाइलर सी (जैसे, हे, बूल) के शीर्ष पर साफ-सुथरा विशेषताएं रखता है, और इसके सी समकक्ष की तुलना में टाइप सुरक्षा पर कठोर है। और यह कुछ साफ सी ++ चाल सीखने का एक अच्छा तरीका हो सकता है (जैसे सी संरचना एक निर्माता के माध्यम से खुद को प्रारंभ करना ...) – paercebal

+4

सी ++ सी के लिए एक विकल्प नहीं है => परिवर्तनीय लंबाई सरणी, वैरिएडिक मैक्रोज़, स्नप्रिंटफ, नामित initializes। –

+3

मैं डाउनवोट नहीं करूँगा क्योंकि आप नए हैं, लेकिन आम तौर पर आपको सुझाव नहीं देना चाहिए कि कोई व्यक्ति अपनी भाषा बदलता है, यहां तक ​​कि सी से सी ++ तक भी। – Potatoswatter

0

बिना हस्ताक्षर किए गए चार आम तौर पर एक इंट की तुलना में एक बूल के लिए बेहतर विकल्प है, खासकर यदि आप उनमें से 1000 की सरणी रखते हैं। हालांकि यह कार्यान्वयन निर्भर करता है कि एक हस्ताक्षरित चार कितना बड़ा है और सरणी कैसे पैक की जाएगी।

+0

नहीं। यह आमतौर पर धीमा होता है, और कभी तेज़ नहीं होता है। –

+0

आप सही हैं कि एक्सेस की गति आम तौर पर एक पतली धीमी होगी, लेकिन पहुंच की गति का महत्व इस बात पर निर्भर करता है कि सरणी का कितनी बार और किस तरह से उपयोग किया जाता है। स्मृति बचत कहीं अधिक महत्वपूर्ण हो सकती है। चाहे आप सीपीयू बाधित हैं या स्मृति को बाधित किया गया है, कुछ विचार करना है। मेरा अनुमान है कि यह अधिक संभावना है कि पहुंच की गति में अंतर नहीं देखा जाएगा लेकिन सरणी द्वारा उठाई गई अतिरिक्त मेमोरी पर ध्यान दिया जाएगा। यह सब आपके उपयोग परिदृश्य पर निर्भर करता है। – david

2

यदि आपके पर्यावरण में कोई प्रकार परिभाषित नहीं किया गया है, तो आप अपने प्रकार, बूल, उदा।

typedef enum {false,true} bool;