मान लीजिए मैं एक सरणी में तीसरे तत्व के लिए एक uint8_t
सूचक बिंदु है, {1, 2, 4, 5} तो *p
4. है मैं इसे कैसे बात करने के लिए प्राप्त कर सकते हैं 4 और 5 तक ताकि *p
45 हो। क्या यह भी संभव है? मैं वर्तमान में टाइपकास्टिंग कर रहा हूँ। यहां मैं क्या करता हूं उदा। यदि डेटा मेरी सरणी है {1, 2, 4, 5} और मैं 4 और 5.दो या अधिक लगातार कोशिकाओं
uint8_t dummyAddress = data[2];
dummyAddress = *((uint16_t*) dummyAddress);
*p = *dummyAddress;
मेरे समझ है कि पी अब 4 और 5 को इंगित करना चाहिए प्राप्त करना चाहते हैं, लेकिन मैं नहीं कर रहा हूँ। जब मैं दूसरी पंक्ति निष्पादित करता हूं तो इसके बजाय मुझे एक सीजी गलती मिलती है। पी uint64_t * const
है। यह एक बाइट प्राप्त करने के लिए काम करता है, लेकिन दो बाइट्स पर एक ही तर्क लागू करते समय मुझे यह सही नहीं मिल रहा है।
कृपया पूरा कोड दें (ऐरे घोषणा, उपयोग किए गए चर के प्रकार, ...)। –
आपको उच्च चेतावनी स्तर के साथ संकलित करना चाहिए और कंपाइलर चेतावनियों को सुनना चाहिए। –
अपने कोड में 'dummyAddress' एक सूचक –