வரிசை அளவு C ++ ஐக் கண்டறியவும்

Find Array Size C



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

முழு வரிசை[] = {1,2,3,4,5,6}

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







உதாரணம் 1

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



செலவு<<……….<<முடிவு(க்கு)-பெகிப்(க்கு)<<

இங்கே நாம் வரிசை அளவை குறிப்பிடவில்லை. Cout- ஐத் தொடர்ந்து காட்சி அறிக்கையில், நாம் end () மற்றும் start () செயல்பாடுகளைப் பயன்படுத்துகிறோம். இந்த இரண்டு செயல்பாடுகளுக்கும் இடையிலான வேறுபாடு ஒரு வரிசையின் அளவை நமக்குக் காட்டும். இந்த செயல்பாடுகளின் அளவுருக்களில், நாங்கள் வரிசையை கடந்துவிட்டோம். இதைச் செய்வதன் மூலம், உண்மையான அளவு தீர்மானிக்கப்படும். இந்த செயல்பாடுகளின் விளைவாக மதிப்பு நேரடியாக காட்டப்படும்.







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

$ ஜி++ -குறியீடு 2 குறியீடு 2.c

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



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

Int n=மணி:: தூரம்(மணி::தொடங்க(அர்),மணி::முடிவு(அர்));

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

எங்கள் விரும்பிய வெளியீடு பெறப்பட்டதை இங்கே காணலாம்.

உதாரணம் 2

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

Int al= அளவு(அர்)/அளவு(அர்[0]);

Arr என்பது வரிசை. arr [0] வரிசையில் உள்ள உறுப்புகளின் குறியீட்டை காட்டுகிறது.

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

அதே தொகுப்பு-செயல்படுத்தும் முறை மூலம் கட்டளை வரியில் இருந்து இங்கே வெளியீட்டைப் பெறுவோம்.

வெளியீடு வரிசையின் அளவைக் காட்டுகிறது, இது அதில் உள்ள உறுப்புகளின் எண்ணிக்கையைக் குறிக்கிறது, இது 6 ஆகும்.

உதாரணம் 3

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

செலவு<<….<<அர்.அளவு()<<

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

முடிவைக் காட்ட, முடிவை தொகுக்க மற்றும் இயக்க g ++ கம்பைலரைப் பயன்படுத்துகிறோம்.

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

உதாரணம் 4

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

ஆரம்ப கட்டம் வழக்கம் போல் ஒரு வரிசையைத் தொடங்குவதாகும். சுட்டிக்காட்டி வரிசை அளவிற்கு வேலை செய்கிறது.

இண்ட் லென்= *(&வரிசை+ 1)- வரிசை;

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

உதாரணம் 5

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

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

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

Constexpr std: : size_tஅளவு(கான்ஸ்ட்டி(&வரிசை)[என்])தவிர{

திரும்பஎன்;

}

இந்த கருத்தில் இது ஒரு நிலையான வரி. வெளியீடு நேரடியாக cout அறிக்கையில் பெறப்படுகிறது.

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

உதாரணம் 6

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

செலவு<<திசையன் அளவு: <<int_array.அளவு() <<endl;

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

முடிவுரை

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