>> காண்க: 1 ஒரு நிரல் எழுத அனுமதி என்று பெயர்கள் பயனர் மற்றும் துவங்குகிறது
மூன்று மாணவர்கள் வீடுகள்.
இப்போது, அந்த பெயர்கள் மற்றும் வீடுகள் சேமிக்க நாம், என்ன, ஆறு மாறிகள் பயன்படுத்த முடியும்.
மூன்று பெயர்கள் சரங்களை, மற்றொரு வீடுகள் மூன்று சரங்களை,
ஆனால் நாங்கள் ஏற்கனவே சுத்தம் செய்யலாம் என்று அதற்கு பதிலாக வரிசைகள் பயன்படுத்தி அந்த குறியீடு,
உதாரணமாக அளவு 3 ஒரு வரிசை மூன்று பெயர்கள், மற்றும் மற்றொரு வரிசை
வீடுகள் அளவு 3.
ஆனால் அதை நாம் இந்த சுத்தம் செய்ய முடியும் மாறிவிடும் இன்னும், மற்றும் உண்மையில் அந்த வைக்க
ஒன்றாக பெயர்கள் மற்றும் வீடுகள், என்று ஒரு மாணவர் பெயர் மற்றும் அவரது வீட்டில்
எப்படியோ அப்படி செய்ய, தொகுக்கப்படுகின்றன அதே மாறி, பேச.
>> இதை செய்ய, எனினும், நாம் அறிவிக்க வேண்டும் நமது சொந்த தரவு வகை, சி எங்கள் சொந்த வகை,
சி ஆசிரியர்கள் அவசியம் இல்லை என்று ஆண்டுகளுக்கு முன்பு நான் நினைக்கிறேன்.
இதை செய்ய நாம் முக்கிய பயன்படுத்த முடியும் typedef, இணைந்து
மற்ற முக்கிய காலியானதே.
ஒரு பார்க்கலாம்.
Structs.h உள்ளே, நான் ஏற்கனவே நான் மூலம் தொடங்கியது விட்டிருக்கும்
CS50 நூலகம் உட்பட.
நான் அடுத்த, typedef struct தட்டச்சு செய்ய போகிறேன் பின்னர் ஒரு சுருள் பிரேஸ்.
Struct உள்ளே, நான் போகிறேன் ஒரு மாணவர் வேண்டும் என்று குறிப்பிட ஒரு
பெயர் சரம் என்று, மற்றொரு சரம் வீடு என்று.
நான் என் சுருள் ப்ரேஸ் மூட போகிறேன், குறிப்பிட என்று பெயர்
இந்த புதிய தரவு வகை மாணவர் இருக்கும்.
வேறுவிதமாக கூறினால், இந்த இலக்கணத்தை வழியாக நான் இருக்கிறேன் என் சொந்த ஒரு புதிய தரவு வகை அறிவித்தார்
என்று ஒரு கணம் முன்பு உள்ளன, மற்றும் இல்லை இந்த தரவு வகை உள்ளே இரண்டு தரவு இருக்கின்றன
துறைகள் அல்லது தரவு உறுப்பினர், பெயர் என்று ஒன்று, ஒன்று என்று வீட்டில், இவை இரண்டும்
வகை சரம் இருக்கின்றன.
>> இப்போது இந்த வகை பயன்படுத்த அனுமதிக்க ஒரு உண்மையான திட்டம்.
Structs0.c, நான் இதேபோல் வந்திருக்கிறேன் நானே சில ஏற்கனவே தொடங்கியது
பாய்லர் குறியீடு, மற்றும் நான் இப்போது இருக்கிறேன் இந்த தரவு பயன்படுத்த போகிறேன்
பின்வருமாறு, மாணவர் தட்டச்சு.
நான் முதல் ஒரு அறிவிக்க போகிறேன் வகை மாணவர் அணி, நான் உன்னை
வரிசை மாணவர்கள் அழைப்பு -
பன்மை -
மற்றும் அதன் அளவு இருக்கும் என்று குறிப்பிட வேண்டும் மதிப்பு என்பது, அறிவிப்பு, மூன்று,
நிலையான மாணவர்கள் -
அனைத்து தலைநகரங்களில் -
நான் இங்கே பிரகடனம் செய்த, முந்தைய கோப்பு.
இப்போது அந்த மூன்று கூறு பார்ப்போம் மாணவர்கள், மற்றும் பயனர் கேட்கும்
அவர்களது பெயர்கள் மற்றும் வீடுகள்.
>> நான் 0 பெற முழு எண்ணாக, நான் குறைவாக உள்ளது என்று தொடர்ந்து விட, நான் +.
இப்போது இந்த உடல் உள்ளே வளைய, நான் ஏதாவது அச்சிட போகிறேன்
மாணவர் பெயர் போன்ற.
நான் உண்மையில் பெற போகிறேன் என்று குறிப்பிடுவதன் மூலம் மாணவர் பெயர்
மாணவர்கள் நான் அடைப்புக்குறி.
வேறுவிதமாக கூறினால் நான் i-வது மாணவர் வேண்டும் இப்போது மாணவர்கள் என்று வரிசை, ஆனால்
நான் அந்த i-வது மாணவர் பெற வேண்டும் பெயர், மற்றும் இதை செய்ய, நான் பயன்படுத்த போகிறேன்
. ஆபரேட்டர், ஒரு மணிக்கு பெறுவதற்காக struct குறிப்பிட்ட துறையில் உள்ளே.
அதனால் நான் மாணவர்கள் நான். பெயர் அடைப்புக்குறி குறிப்பிட GetString திரும்ப மதிப்பு பெறுகிறார் ().
இதற்கிடையில், நான் வெளியே அச்சிட போகிறேன் இதே போன்ற ஏதாவது, மாணவர் என்று
வீடு, மற்றும் இப்போது நான் குறிப்பிட போகிறேன் i-வது மாணவர்கள் வீட்டில் துறையில்
திரும்ப மதிப்பு பெற வேண்டும் GetString மற்றொரு அழைப்பு ().
>> இப்போது இந்த மூன்று ஏதாவது செய்வோம் மாணவர்கள் 'பெயர்கள் மற்றும் வீடுகள்,
அச்சிடுதல் போன்ற எளிமையான ஒன்று ஒரு வாக்கியத்தில் ஒவ்வொரு வெளியே.
முழு எண்ணாக நான் 0, மீண்டும் நான் விட குறைவாக உள்ளது மாணவர்கள், நான் + அச்சிட "% s% s ஆகிறது.
பின்சாய்வுக்கோடானது n ", இப்போது எனக்கு உள்ள அடைப்பை நாம் அந்த இரண்டு துறைகளில் மதிப்புகள்,
மாணவர்கள், நான். பெயர், கமா அடைப்புக்குறி மாணவர்கள் நான் அடைப்புக்குறி. வீட்டில், நெருங்கிய
அடைப்புக்குறி, அரைப்புள்ளி.
>> இப்போது நான் ஒரு விஷயம் செய்ய வேண்டும்.
இந்த கோப்பு கீழே, நான் வேண்டும் ஒதுக்கப்பட்ட நினைவகம் விடுவிக்க
GetSring (), திரைக்கு பின்னால் இது நிச்சயமாக பொருட்டு, malloc அழைப்பு
சரங்களை நினைவகத்தை ஒதுக்க பயனர் வகைகள்.
ஆனால் இந்த எளிது.
நான் 0 பெற முழு எண்ணாக, நான் விட குறைவாக உள்ளது மாணவர்கள், நான் + +, மற்றும் உடல் உள்ளே
இந்த சுழற்சி, நான் வெறுமனே போகிறேன் இலவச மாணவர்கள் அடைப்புக்குறி நான். பெயர் வழங்க,
மற்றும் இலவச மாணவர்கள் நான் அடைப்புக்குறி. வீட்டில்.
>> இப்போது, நாம் தெளிவாக சுழல்கள் மூன்று பயன்படுத்தப்படும் இந்த திட்டத்தில், போது உண்மையில் நான்
ஒரு பயன்படுத்தப்படும், ஆனால் இந்த ஆர்ப்பாட்டம் மீது ஆணையாக, என்று
நாங்கள் மூன்று வேறுபட்ட குறிப்பிட முடியும் நாம் என்ன சரியாக படிகள்.
நாம் முதல் ஒரு பெயர் மற்றும் ஒரு வீட்டில் வருகிறோம் மாணவர்கள் ஒவ்வொரு, நாம் இருக்கிறோம்
பெயர் மற்றும் வீட்டை விட்டு வெளியே அச்சிடும் மூன்று மாணவர்கள் ஒவ்வொரு, மற்றும்
நாம் நினைவக விடுவிக்க போகிறோம் மாணவர்கள் ஒவ்வொரு பயன்படுத்தப்படும்.
ஆனால், நிச்சயமாக நாம் இந்த சேர்த்து கொடுத்திருக்கலாமே லூப் ஒரு பெரிய ஒரு.
>> தொகுத்தல், இப்போது காப்பாற்ற நாம், இந்த நிரலை இயக்க.
செய்ய structs 0. / structs 0, மாணவர் பெயரை, டேவிட் வழங்க அனுமதிக்க, அவர் வாழ வேண்டும்
மாதர் மாளிகையில், மாணவர் பெயர், நாம் லாரன் சொல்ல, அவர் Leverett வாழ வேண்டும்
ஹவுஸ், மாணவர் பெயர், ராப், அவர் நீடூழி கிர்க்லாண்ட் மாளிகையில் வாழ.
உண்மையில், டேவிட், மாதர் உள்ளது லாரன், Leverett உள்ளது
மற்றும் ராப் கிர்க்லாண்ட் உள்ளது.