[ad_1]
sizeof() ऑपरेटर सरणी के आकार की गणना कैसे करता है
मैंने क्या प्रयास किया है:
मैंने सरणी के आकार की गणना करने के लिए sizeof(x) लिखा लेकिन मुझे अपेक्षित आउटपुट नहीं मिला।
समाधान 1
sizeof
पैरामीटर द्वारा उपयोग किए गए बाइट्स की संख्या लौटाता है: एक सरणी के लिए, प्रत्येक तत्व का आकार तत्वों की संख्या से गुणा किया जाता है।
ये कोशिश करें:
सी
#include <stdio.h> int main() { int arr[10]; printf("%lu:%lu\n", sizeof(arr), sizeof(arr[0])); return 0; }
और आपको “40:4” परिणाम मिलेगा: सरणी कुल 40 बाइट्स मेमोरी का उपयोग करती है, और सरणी में 10 तत्वों में से प्रत्येक 4 बाइट्स का उपयोग करता है।
समाधान 2
एक छोटा सा जोड़: आपके द्वारा लिखी गई अभिव्यक्ति,
सी
sizeof( x ) / sizeof( x[0] )
किसी सरणी में आइटमों की संख्या की गणना करने के लिए उपयोग किया जाता है। यह वैसा ही है जैसा कि _countof
मैक्रो VisualStudio C++ में होता है।
तीन भावों और उनके परिणाम को संक्षेप में प्रस्तुत करना int x[8]
:
sizeof(x) size in bytes of x : 32 sizeof(x[0]) size in bytes of one item of x : 4 sizeof(x)/sizeof(x[0]) number of items in x : 8
[ad_2]
コメント