यह नहीं है
स्ट्रिंग टर्मिनेटर एक बाइट है जिसमें सभी 0 बिट्स होते हैं।
अहस्ताक्षरित int दो या चार बाइट्स (आपके पर्यावरण पर निर्भर करता है) प्रत्येक में सभी 0 बिट्स होते हैं।
दो वस्तुओं को अलग-अलग पते पर संग्रहीत किया जाता है। आपका संकलित कोड पूर्व स्थान पर तार के लिए उपयुक्त संचालन करता है, और बाद में अहस्ताक्षरित बाइनरी संख्या के लिए उपयुक्त संचालन। (जब तक आपके पास अपने कोड में एक बग नहीं है, या कुछ खतरनाक रूप से चतुर कोड नहीं है!)
लेकिन ये सभी बाइट्स सीपीयू के समान ही दिखते हैं। मेमोरी में डेटा (अधिकांश वर्तमान-सामान्य अनुदेश सेट आर्किटेक्चर में) इसके साथ किसी भी प्रकार से जुड़ा नहीं है। यह एक अमूर्त है जो केवल स्रोत कोड में मौजूद है और इसका अर्थ केवल संकलक से कुछ है।
संपादित-जोड़ा: एक उदाहरण के रूप में: एक स्ट्रिंग बनाने वाले बाइट्स पर अंकगणित करने के लिए यह पूरी तरह से संभव है, यहां तक कि सामान्य भी है। यदि आपके पास 8-बिट ASCII वर्णों की एक स्ट्रिंग है, तो आप 32 (दशमलव) जोड़ या घटाकर ऊपरी और निचले मामले के बीच स्ट्रिंग में अक्षरों को परिवर्तित कर सकते हैं। या यदि आप किसी अन्य वर्ण कोड में अनुवाद कर रहे हैं, तो आप उनके मानों को एक सरणी में सूचक के रूप में उपयोग कर सकते हैं जिनके तत्व अन्य कोड में बराबर बिट कोडिंग प्रदान करते हैं।
सीपीयू के लिए चार्ट वास्तव में अतिरिक्त-लघु पूर्णांक हैं। (आठ बिट्स प्रत्येक 16, 32, या 64 के बजाय।) हम मनुष्यों के लिए उनके मूल्यों को पठनीय वर्णों के साथ जुड़ा होना होता है, लेकिन सीपीयू को इसका कोई पता नहीं है। यह भी नहीं जानता है कि "नल बाइट एक स्ट्रिंग समाप्त होता है" के "सी" सम्मेलन के बारे में कुछ भी नहीं है, (और जैसा कि कई अन्य उत्तरों और टिप्पणियों में नोट किया गया है, प्रोग्रामिंग वातावरण हैं जिसमें उस सम्मेलन का उपयोग बिल्कुल नहीं किया जाता है) ।
यह सुनिश्चित करने के लिए कि x86 / x64 में कुछ निर्देश हैं, जिनका उपयोग स्ट्रिंग के साथ बहुत अधिक किया जाता है - उदाहरण के लिए आरईपी उपसर्ग, - लेकिन आप केवल वांछित परिणाम प्राप्त करने पर, पूर्णांक की एक सरणी पर उनका उपयोग कर सकते हैं।