ஒரு செயல்பாட்டை C ++ க்கு ஒரு வரிசையை அனுப்புதல்

Passing An Array Function C



வரிசை என்பது ஒரே தரவு வகையின் கூறுகளின் குழுவாகும். பல செயல்பாடுகள் பிரதான நிரலில் அல்லது அதற்கு வெளியே, செயல்பாடுகளில் வரிசைகளில் செய்யப்படுகின்றன. C ++ இல், செயல்பாடுகளின் விஷயத்தில், நாம் அவற்றை கடக்க வேண்டும். இது வாதங்களாக அளவுருக்கள் மூலம் செய்யப்படுகிறது. இந்த வாதங்கள் வெவ்வேறு வழிகளில் இருக்கலாம், ஒன்று பெரிய வரிசைகள் அல்லது சுட்டிக்காட்டி வரிசை மூலம். இந்த டுடோரியலில், செயல்பாடுகளின் வெவ்வேறு அளவுருக்களைப் பயன்படுத்தி வரிசை பரிமாற்றத்தின் சில முக்கிய அம்சங்களை நாங்கள் உள்ளடக்குவோம்.

தொடரியல்

[திரும்பவகை] [பெயர்செயல்பாடு] (தகவல்கள்வகைவரிசை பெயர்[வரிசைஅளவு])

{

செயல்பாடுஉடல்

}

உதாரணம் 1

சி ++ திட்டத்தில் மாணவர்களின் மதிப்பெண்களை அச்சிட வேண்டிய ஒரு உதாரணத்தைக் கவனியுங்கள். இந்த அச்சு முக்கிய திட்டத்தில் இல்லாமல் ஒரு தனி செயல்பாட்டில் எடுக்கப்படும். மாறாக, முக்கிய நிரலில் உள்ளீடுகளை எடுத்துக்கொள்வோம், இந்த மதிப்புகளை செயல்பாட்டிற்கு ஒரு அளவுருவாக மாற்றுவோம். செயல்பாட்டைக் கவனியுங்கள். அதன் அளவுருவில், வரிசையின் மதிப்புகளை ஏற்றுக்கொள்ளும் ஒரு வரிசை தரவு வகை மாறி உள்ளது. முழு வரிசை இங்கே அறிவிக்கப்பட்டுள்ளது. ஃபார் லூப் உதவியுடன் மதிப்பெண்கள் காட்டப்படும். வரிசைகளில் உள்ளதைப் போல, அவற்றிலிருந்து அச்சிட எங்களுக்கு சுழல்கள் தேவை.









முக்கிய செயல்பாட்டை நோக்கி நகரும் போது, ​​அதன் அளவு மற்றும் மதிப்புகள் கொண்ட ஒரு வரிசையை நாங்கள் அறிவிக்கிறோம். நாம் செயல்பாட்டை அழைக்க வேண்டும். எனவே முறை நாம் ஒரு வாதமாக அளவுருவில் வரிசையின் பெயருடன் செயல்பாட்டு பெயரை எழுதுகிறோம். வரிசையின் அளவை நாங்கள் வரையறுக்கவில்லை.



காட்சி(மதிப்பெண்கள்);

அளவுருவில் உள்ள வாதம் வரிசையின் நினைவக முகவரியை குறிக்கிறது. செயல்பாட்டின் தலைப்பின் அளவுருவில், int m [7] int *m ஆக மாற்றப்படுகிறது. அசல் வரிசையின் அதே முகவரியும் இதில் அடங்கும். செயல்பாட்டின் உடலில் மீ





வெற்றிட காட்சி(int m[7] )

லினக்ஸ் ஆப்பரேட்டிங் சிஸ்டத்தில், டெர்மினல் மூலம் வெளியீடு பெறுவதற்கு சில முன்நிபந்தனைகள் நிறுவப்பட வேண்டும். கட்டளை வரியில் முனையத்தில் குறியீட்டை தொகுக்க மற்றும் இயக்க ஒரு கம்பைலர் தேவை. G ++ தொகுப்புக்கு C ++ இல் பயன்படுத்தப்படுகிறது.



$g ++ -அல்லதுகுறியீடு 3 குறியீடு 3. சி

$./குறியீடு 3

எங்கே –o மூலக் கோப்பிலிருந்து வெளியீடு கோப்புக்கு வெளியீட்டைச் சேமிக்கப் பயன்படுகிறது.

வெளியீட்டில் இருந்து, முக்கிய செயல்பாட்டில் வரிசையில் தொடங்கப்பட்ட அனைத்து எண்களும் காட்சி செயல்பாடு மூலம் கடந்து காட்டப்படும் என்பதை நீங்கள் அவதானிக்கலாம்.

உதாரணம் 2

அளவுரு வழியாக செல்லும் வரிசையைப் பற்றிய மற்றொரு எடுத்துக்காட்டு பல பரிமாண வரிசையை செயல்பாட்டிற்கு அனுப்புவதாகும். இரு பரிமாண வரிசை (2 டி) இங்கே பயன்படுத்தப்படுகிறது. முக்கிய செயல்பாட்டில், நாம் ஒரு வரிசையைத் தொடங்க வேண்டும்.

முழு வரிசை[வரிசை][நெடுவரிசை]

2d வரிசை துவக்கத்தில் வரிசை மற்றும் நெடுவரிசை அடங்கும். மேலும் அவர்களின் உத்தரவு நிரல் முழுவதும் தக்கவைக்கப்பட வேண்டும். 2d வரிசை அடைப்புக்குறிக்குள் இரண்டு எண்களுடன் தொடங்கப்பட்டது. துவக்கத்தில் 2 நெடுவரிசைகளை நாங்கள் விவரித்துள்ளோம்.

காட்சி(ஒன்றின் மீது);

அளவுருவில் உள்ள வரிசையின் பெயரை ஒரு வாதமாக மட்டுமே பயன்படுத்துவோம்.

இப்போது நாம் காட்சி செயல்பாட்டின் செயல்பாட்டைப் பார்ப்போம். செயல்பாடு தொடங்கப்பட்டவுடன், முக்கிய நிரல் மூலம் செயல்பாட்டு அழைப்பால் அனுப்பப்பட்ட வரிசையை ஏற்க ஒரு வரிசை மாறி தேவைப்படுகிறது.

வெற்றிட காட்சி(int n[][2] )

நெடுவரிசைகளின் எண்ணிக்கையைக் குறிப்பிடுவது கட்டாயமாகும். ஒப்பிடுகையில், வரிசைகளின் விஷயத்தில் இது அவசியமில்லை. அதனால்தான் முடிவுகளை காண்பிக்க லூப் பயன்படுத்தும்போது வரிசை அடைப்புக்குறிகளை காலியாக விட்டுவிட்டோம். ஆனால் ஒரு 2-பரிமாண வரிசையின் விஷயத்தில், நாங்கள் லூப்பிற்கு ஒரு கூட்டை பயன்படுத்துகிறோம். அதில் 2 மாறிகள் கொண்ட அறிக்கைகளுக்கு இரண்டு உள்ளது.

அதே தொகுப்பினைப் பயன்படுத்துவதன் மூலம் நாம் வெளியீட்டைப் பார்க்கலாம். ஒவ்வொரு மதிப்பும் வரிசை மற்றும் நெடுவரிசை எண்ணுடன் தனித்தனியாக காட்டப்படும் முடிவுகளை நீங்கள் காணலாம்.

உதாரணம் 3

இந்த உதாரணம் முந்தையவற்றிலிருந்து சற்று வித்தியாசமானது. இந்த எடுத்துக்காட்டில், செயல்பாட்டு அழைப்பின் அளவுருவில் வரிசை அளவைக் குறிப்பிடுகிறோம். செயல்பாட்டு அறிவிப்பில், ஒரு வரிசையின் அளவை ஏற்றுக்கொள்ள ஒரு மாறியும் அறிமுகப்படுத்தப்பட்டது.

முக்கிய நிரலிலிருந்து தொடங்கி, ஒரு வரிசை மதிப்புகளுடன் தொடங்கப்படுகிறது.

சராசரி = சராசரி கிடைக்கும்(சமநிலை,5);

முடிவு சராசரி மாறியில் சேமிக்கப்படும். வரிசையின் பெயரை மட்டும் அனுப்புவதற்குப் பதிலாக, வரிசை அளவும் அளவுருவில் சேர்க்கப்படும்.

அளவுருவில் வரிசை அளவு மற்றும் வரிசை அளவைப் பெற ஒரு முழு எண் தரவு வகை உள்ளது. முக்கிய நிரலின் வகை int ஆகும், ஏனெனில் அது செயல்பாட்டிலிருந்து ஒரு முழு மதிப்பைப் பெறும். இல்லையெனில், மற்ற சந்தர்ப்பங்களில் அது செல்லாது.

இப்போது நாம் வெளியீட்டைப் பார்ப்போம். இந்த மதிப்பு செயல்பாட்டிலிருந்து பெறப்பட்ட படத்தின் மூலம் தெரியும்.

உதாரணம் 4

இந்த உதாரணம் வரிசையில் அதிகபட்ச எண்ணிக்கையை தீர்மானிப்பது தொடர்பானது, உண்மையில், இரண்டு வரிசைகளிலிருந்து. இங்கே நாம் பிரதான நிரலில் இரண்டு வரிசைகளைத் தொடங்குகிறோம். இரண்டு வரிசைகளும் தனித்தனியாக செயல்பாட்டிற்கு தனித்தனியாக அனுப்பப்படுகின்றன

printMax(arr1);

printMax(arr2);

அங்கு printMax என்பது செயல்பாட்டின் பெயர் மற்றும் arr என்பது வரிசை. செயல்பாடு செயல்பாட்டிலிருந்து திரும்பாது மற்றும் அங்கு காட்டப்படும். லூப் இரண்டு வரிசைகளிலும் அதிகபட்ச எண்ணிக்கையை கணக்கிடும். If- அறிக்கையானது for loop க்குள் பயன்படுத்தப்படுகிறது. செயல்பாட்டின் தலைப்பு:

வெற்றிடமான printMax(int arr[5])

இரண்டு வரிசைகளும் வெவ்வேறு மதிப்புகளைக் கொண்டிருப்பதால், இரண்டு முடிவுகளும் வித்தியாசமாக இருக்கும்.

உதாரணம் 5

இந்த உதாரணம் அளவுருக்கள் வழியாக செல்லும் அனைத்து வகையான வரிசைகளின் சுருக்கமாகும். இவை அளவு, அளவு அல்லது சுட்டிக்காட்டி வரிசைகளாக இருக்கலாம். அவற்றை ஒவ்வொன்றாகக் கருதுவோம்.

முக்கிய திட்டத்தில், ஒவ்வொரு செயல்பாடும் முதலில் அறிவிக்கப்படும். அவர்களின் அறிவிப்பில் உள்ள வித்தியாசத்தை நீங்கள் சுட்டிக்காட்டலாம்.

மொத்த தொகை 1(int tmp[5]);

முழு தொகை 2(int tmp[]);

மொத்த தொகை 3(int*tmp);

இந்த மூன்று வரிசைகள் செயல்பாட்டில் இந்த அளவுருக்களைக் கொண்ட வரிசைகளை கடக்க முடியும் என்று சித்தரிக்கின்றன.

செயல்பாட்டு துவக்கத்திற்குப் பிறகு, வரிசை அறிவிக்கப்பட்ட முக்கிய நிரல் எங்களிடம் உள்ளது. முந்தைய உதாரணத்தைப் போலல்லாமல், இரண்டு வரிசைகளுக்குப் பதிலாக ஒரு வரிசை துவக்கப்பட்டது, ஆனால் அது மூன்று வெவ்வேறு வழிகளில் அனுப்பப்படுகிறது. இப்போது இங்கே செய்யப்படும் செயல்பாட்டு அழைப்புகளைக் காண்போம்.

மொத்தம் = தொகை 1(விற்பனை);

மொத்தம் = தொகை 2(விற்பனை);

மொத்தம் = தொகை 3(விற்பனை);

வெளியீடு முக்கிய செயல்பாட்டில் காட்டப்படும், எனவே செயல்பாட்டால் திரும்பிய மதிப்பை ஏற்க ஒரு மாறி அறிவிக்கப்படுகிறது. மூன்று செயல்பாட்டு அழைப்புகளிலிருந்தும், இங்கே அளவுருக்கள் ஒன்றே என்பதை நீங்கள் காணலாம். ஒவ்வொரு வரிசையும் ஒரு வரிசையின் பெயரை மட்டுமே கொண்டுள்ளது. ஆனால் வரிசையை ஏற்றுக்கொள்ளும் செயல்பாட்டின் அளவுருக்கள் வேறுபட்டவை.

அனைத்து எண்களின் கூட்டுத்தொகையும் ஃபார் லூப் பயன்பாட்டிலிருந்து கணக்கிடப்படுவதால், மூன்று செயல்பாடுகளின் உள் உடலும் ஒன்றே. வழிமுறை மற்றும் வரிசையின் மதிப்புகள் ஒன்றே; செயல்பாடுகளின் அளவுருக்களுக்கு இடையே மட்டுமே பாகுபாடு உள்ளது. எனவே, ஒரு வரிசையை ஏற்க அல்லது ஒரே செயல்பாட்டைச் செய்ய நாம் வெவ்வேறு முறைகளைப் பயன்படுத்தலாம் என்பது நிரூபிக்கப்பட்டுள்ளது, பதில் ஒன்றே. வெளியீட்டை சரிபார்ப்பதன் மூலம் நாம் அதை உறுதிப்படுத்த முடியும். அதே தொகுப்பு நடைமுறையைப் பயன்படுத்தி, கீழே உள்ள படத்தில் காட்டப்பட்டுள்ள வெளியீட்டைப் பெறுவோம்.

பயன்படுத்தப்படும் மூன்று செயல்பாடுகளுக்கும் ஒரே பதில் இருப்பதை நீங்கள் காணலாம்.

முடிவுரை

இந்த கட்டுரையில், பயனர் அளவுருக்களில் ஒரு வரிசையின் கடந்து செல்லும் முறையைப் பற்றி அறிந்து கொள்வார். மதிப்புகளைத் திருப்பித் தரும்போது அல்லது வாதங்களில் அனுப்பும்போது வரிசைகள் பல சந்தர்ப்பங்களில் கையாளப்படலாம்.