आपके कोड नमूने में कुछ जानकारी की कमी है क्योंकि आप यह नहीं कहते कि function
परिभाषित किया गया है। इसका मतलब है कि आप उन निष्कर्षों को नहीं खींच सकते जिन्हें आप आकर्षित करने का प्रयास करते हैं।
बेशक, function
पास्कल में एक आरक्षित शब्द है, वह कोड कभी भी संकलित नहीं कर सकता था। अब मुझे लगता है कि चर को f
कहा जाता है।
पर विचार करें निम्नलिखित परिभाषा:
type
sample1 = array [1..80] of integer;
psample = ^sample1;
var
f : array [1..70] of psample;
यहाँ, sample1
और psample
प्रकार हैं। sample1
80 पूर्णांक की सरणी का वर्णन करने वाला प्रकार है। psample
sample1
पर एक सूचक है।
अगला एक चर नाम f
परिभाषित किया गया है। यह 70 psample
एस की एक सरणी है।
अब, इससे पहले कि आप f[1]^[1]
लिखते हैं, तो आपको यह भी विचार करने से पहले, f
के तत्वों को कुछ मान असाइन करने की आवश्यकता है।
मान लीजिए कि हमें इसे इस तरह से किया था:
var
sample: sample1;
...
for i := 1 to 70 do
f[i] := @sample;
अब यह सच हो सकता है कि f[i]^[k]
सभी वैध i
और j
के लिए f[j]^[k]
रूप में एक ही पूर्णांक को दर्शाता है। तो जब आप f[1]^[1] := 42
बारे में आप भी f[2]^[1]
, f[3]^[1]
और इतने पर करने के लिए कि मान निर्दिष्ट कर रहे हैं। स्मृति में एक अलग सरणी
var
samples: array [1..70] of sample1;
...
for i := 1 to 70 do
f[i] := @samples[i];
अब प्रत्येक f[i]
सूचक अंक:
दूसरी ओर आप इस तरह यह कर सकता है। इस मामले f[1]^[1] := 42
बताए में f[2]^[1]
का मूल्य या अन्य कोई भी मान संशोधित नहीं करता है। आपके उत्तर के लिए
स्रोत
2012-02-02 21:14:56
धन्यवाद डेविड, यह बहुत उपयोगी है। –