როგორ დავაბრუნოთ მასივი

Სარჩევი:

როგორ დავაბრუნოთ მასივი
როგორ დავაბრუნოთ მასივი

ვიდეო: როგორ დავაბრუნოთ მასივი

ვიდეო: როგორ დავაბრუნოთ მასივი
ვიდეო: 33 გაკვეთილი - ორგანზომილებიანი მასივის შევსება კლავიატურით და შემთხვევით დაგენერირებული რიცხვებით 2024, მაისი
Anonim

მასივები სტრუქტურირებული მონაცემთა შენახვის ერთ-ერთი უმარტივესი ფორმაა. მას შემდეგ, რაც მეხსიერების განუყოფელი ადგილები გამოყოფილია ერთგანზომილებიანი მასივების შესანახად, ხოლო პროგრამირების უმეტესობას აქვს სინტაქსური კონსტრუქცია მათი დეკლარირებისთვის, ისინი ინტენსიურად იყენებენ ბუფერებს, როგორც დიდი რაოდენობით ინფორმაციის გადასაცემად სხვადასხვა (მათ შორის, ბიბლიოთეკის) ფუნქციებში. თავის მხრივ, ფუნქციებს ზოგჯერ მასივის დაბრუნება სჭირდება.

როგორ დავაბრუნოთ მასივი
როგორ დავაბრუნოთ მასივი

აუცილებელია

  • - ტექსტის რედაქტორი;
  • - C ან C ++ შემდგენელი და დამაკავშირებელი.

ინსტრუქციები

Ნაბიჯი 1

დააბრუნეთ მონაცემები ფუნქციიდან ან მეთოდით, ფიქსირებული სიგრძის მასივში მოთავსებით, გამოყოფილია აბონენტის მიერ და გადაეცემა მითითებით. განსაზღვრეთ მონაცემთა შესაბამისი ტიპები, მაგალითად: typedef int t_array10 [10]; გამოიყენეთ იგი საჭირო ფუნქციის ან მეთოდის დეკლარაციაში და განხორციელებაში: void ReturnArray (t_array10 & raOut) {raOut [0] = 10;} დარეკეთ სათანადოდ: int aNumbers [10]; ReturnArray (aNumbers); ამ მეთოდის მინუსი არის ის, რომ მასივის სიგრძე ფიქსირდება.

ნაბიჯი 2

დააბრუნეთ მასივის მონაცემები, განათავსეთ იგი აბონენტის მიერ გამოყოფილ გამომავალ ბუფერში, რომელიც გადის მაჩვენებლით. ფუნქციის ან მეთოდის პროტოტიპი შეიძლება შეიცავდეს პარამეტრს, რომელიც მასივში მითითებულია ზომაში დაზუსტების გარეშე: void ReturnArray (int anArray , int nSize); ან მაჩვენებელი: void ReturnArray (int * pnArray, int nSize) შემთხვევაში, იდენტიფიკატორის პარამეტრი შეიძლება გამოყენებულ იქნას მასივის აღნიშვნაში: void ReturnArray (int * pnArray, int nSize) {for (nSize--; nSize> -1; pnArray [nSize] = nSize--);} // ზარის int რიცხვები [10]; ReturnArray (aNumbers, sizeof (aNumbers) / sizeof (aNumbers [0])); მასივების ფუნქციებზე გადაცემის და მათგან მასივის მონაცემების დაბრუნების ეს მეთოდი გამოიყენება C პროგრამების შემუშავების უმეტეს შემთხვევებში. ფუნქციებს და მეთოდებს, რომლებიც ამ გზით იღებენ და აბრუნებენ მონაცემებს, როგორც წესი, უნდა ჰქონდეს დამატებითი პარამეტრი, რომლის მეშვეობითაც გადის ბუფერის რეალური ზომა.

ნაბიჯი 3

დავაბრუნოთ ფუნქციაში ან მეთოდში შექმნილი მასივი. ფორმალურად, ამ შემთხვევაში არა მასივი უნდა დაუბრუნდეს, არამედ მანიშნებელი მის პირველ ელემენტზე: int * ReturnArray () {int * pnArray = new int [10]; // მუშაობა pnArray- თან დაუბრუნეთ pnArray;} // მითითებული სტრიქონის მისაღებად int * pnNumbers = ReturnArray (); // გამოიყენეთ წაშლა pnNumbers; // წაშლა ამ მეთოდს აქვს გარკვეული შეზღუდვები. ასე რომ, მასივი უნდა იყოს განლაგებული გროვაში. გარდა ამისა, მისი წაშლა უნდა განხორციელდეს შექმნის შესაბამისი მეთოდით (წაშლა ახალი, free for malloc- ის გამოყენების შემთხვევაში და ა.შ.).

ნაბიჯი 4

C ++ პროგრამების შემუშავებისას გამოიყენეთ კონტეინერების კლასები მასივების მოხერხებულად დასაბრუნებლად. მასივის შექმნისა და დაბრუნების მაგალითი, რომელიც წარმოადგენს C ++ სტანდარტული შაბლონის ბიბლიოთეკის ვექტორული შაბლონის კლასის ობიექტს, შეიძლება ასე გამოიყურებოდეს: #include std:: vector ReturnArray () {std:: vector oArray; oArray.resize (10); oArray [0] = 100; oArray [1] = 200; Return oArray;} std:: vector oArray = ReturnArray (); გაითვალისწინეთ, რომ პოპულარული ჩარჩოების უმეტესობა გთავაზობთ მძლავრ კლასებს ან მასივის კლასის შაბლონებს. ისინი ხშირად ახორციელებენ მონაცემების ნაგულისხმევი გაზიარების კონცეფციას მითითების დათვლისა და კოპირების საშუალებით. ამიტომ, ამგვარი მასივების მნიშვნელობით ფუნქციონიდან დაბრუნება ხორციელდება ძალიან ეფექტურად და ასოცირდება გამოთვლითი რესურსების მინიმალურ მოხმარებასთან.

გირჩევთ: