>> ಸ್ಪೀಕರ್ 1: ತಂದೆಯ ಪ್ರೋಗ್ರಾಂ ಬರೆಯೋಣ ಎಂದು ಹೆಸರುಗಳು ಬಳಕೆದಾರ ಮತ್ತು ಅಪೇಕ್ಷಿಸುತ್ತದೆ
ಮೂರು ವಿದ್ಯಾರ್ಥಿಗಳು ಮನೆ.
ಈಗ, ಆ ಹೆಸರುಗಳು ಮತ್ತು ಮನೆ ಶೇಖರಿಸಿಡಲು ನಾವು, ಏನು, ಆರು ಅಸ್ಥಿರ ಬಳಸಬಹುದಾಗಿತ್ತು.
ಮೂರು ಹೆಸರುಗಳು ತಂತಿಗಳು ಮತ್ತು ಮತ್ತೊಂದು ಮನೆ ಮೂರು ತಂತಿಗಳು
ಆದರೆ ನಾವು ಈಗಾಗಲೇ ನಾವು ಸ್ವಚ್ಛಗೊಳಿಸಲು ತಿಳಿದಿದೆ ಬದಲಿಗೆ ಸಾಲುಗಳು ಬಳಸಿಕೊಂಡು ಕೋಡ್,
ಉದಾಹರಣೆಗೆ ಗಾತ್ರ 3 ಒಂದು ಶ್ರೇಣಿಯನ್ನು ಮೂರು ಹೆಸರುಗಳು, ಮತ್ತು ಇನ್ನೊಂದು ಸರಣಿ
ಮನೆ ಗಾತ್ರ 3.
ಆದರೆ ನಾವು ಈ ಸ್ವಚ್ಛಗೊಳಿಸಲು ತಿರುಗಿದರೆ ಇನ್ನೂ, ಮತ್ತು ವಾಸ್ತವವಾಗಿ ಆ ಇರಿಸಿಕೊಳ್ಳಲು
ಒಟ್ಟಿಗೆ ಹೆಸರುಗಳು ಮತ್ತು ಮನೆ, ಆದ್ದರಿಂದ ಒಂದು ವಿದ್ಯಾರ್ಥಿಯ ಹೆಸರು ಮತ್ತು ತನ್ನ ಮನೆ
ಹೇಗಾದರೂ ಆದ್ದರಿಂದ, ಸುತ್ತುವರಿಯುತ್ತದೆ ಮಾಡಲಾಗುತ್ತದೆ ಅದೇ ವೇರಿಯಬಲ್ ಮಾತನಾಡಲು.
>> ಇದನ್ನು ಮಾಡಲು, ಆದರೂ, ನಾವು ಘೋಷಿಸಲು ಅಗತ್ಯವಿದೆ ನಮ್ಮ ಮಾಹಿತಿ ಪ್ರಕಾರ, ಸಿ ನಮ್ಮ ಮಾದರಿ,
ಸಿ ಲೇಖಕರು ಅಗತ್ಯವಾಗಿ ಮಾಡಲಿಲ್ಲ ವರ್ಷಗಳ ಹಿಂದೆ ಭಾವಿಸುತ್ತೇನೆ.
ಇದನ್ನು ಮಾಡಲು ನಾವು ಕೀವರ್ಡ್ ಬಳಸಬಹುದು typedef, ಜೊತೆಗೆ
ಇತರ ಕೀವರ್ಡ್ struct.
ನ ಅವಲೋಕಿಸೋಣ.
Structs.h ಒಳಗೆ, ನಾನು ಈಗಾಗಲೇ ಬಂದಿದೆ ಪ್ರಾರಂಭಿಸಿದರು ನೆತ್ತಿಗೇರಿದೆ
CS50 ಗ್ರಂಥಾಲಯದ ಸೇರಿದಂತೆ.
ನಾನು ಮುಂದಿನ, typedef struct ಟೈಪ್ ಪಡೆಯಲಿದ್ದೇನೆ ಮತ್ತು ನಂತರ ಒಂದು ಸುರುಳಿಯಾದ ಬ್ರೇಸ್.
Struct ಒಳಗೆ, ನಾನು ಪಡೆಯಲಿದ್ದೇನೆ ವಿದ್ಯಾರ್ಥಿ ಒಳಪಟ್ಟಿರುತ್ತದೆ ಎಂದು ಸೂಚಿಸಲು ಒಂದು
ಹೆಸರು ಸ್ಟ್ರಿಂಗ್ ಎಂಬ, ಮತ್ತು ಮತ್ತೊಂದು ಸ್ಟ್ರಿಂಗ್ ಮನೆ ಎಂಬ.
ನಾನು ನನ್ನ ಸುರುಳಿಯಾದ ಬ್ರೇಸ್ ಪಡೆಯಲಿದ್ದೇನೆ, ಮತ್ತು ನಿರ್ದಿಷ್ಟ ಹೆಸರು
ಈ ಹೊಸ ರೀತಿಯ ಮಾಹಿತಿ ವಿದ್ಯಾರ್ಥಿ ಕಂಗೊಳಿಸುತ್ತವೆ.
ಅರ್ಥಾತ್, ಈ ವಾಕ್ಯ ಮೂಲಕ ನಾನು ನನ್ನ ಹೊಸ ಮಾಹಿತಿ ಪ್ರಕಾರ, ಡಿಕ್ಲೇರ್ಡ್
ಒಂದು ಕ್ಷಣ ಹಿಂದೆ ಅಸ್ತಿತ್ವದಲ್ಲಿ, ಮತ್ತು ಇಲ್ಲ ಈ ಡೇಟಾವನ್ನು ರೀತಿಯ ಒಳಗೆ ಎರಡು ದಶಮಾಂಶ ಇವೆ
ಜಾಗ ಅಥವಾ ದಶಮಾಂಶ ಸದಸ್ಯರು, ಹೆಸರು ಎಂದು ಒಂದು, ಒಂದು ಎಂಬ ಮನೆ, ಇವೆರಡೂ
ಕೌಟುಂಬಿಕತೆ ತಂತುವಿನ ಇವೆ.
>> ಈಗ ಈ ರೀತಿಯ ಬಳಸಿ ಲೆಟ್ ನಿಜವಾದ ಕಾರ್ಯಕ್ರಮದಲ್ಲಿ.
Structs0.c, ನಾನು ಇದೇ ನೆತ್ತಿಗೇರಿದೆ ನನ್ನ ಕೆಲವು ಈಗಾಗಲೇ ಪ್ರಾರಂಭಿಸಿದರು
ಬಾಯ್ಲರ್ ಕೋಡ್, ಮತ್ತು ನಾನು ಈಗ ಆಮ್ ಈ ಡೇಟಾವನ್ನು ಬಳಸಲು ಹೋಗುವ
ಕೆಳಗಿನಂತೆ, ವಿದ್ಯಾರ್ಥಿ ಟೈಪ್.
ನಾನು ಮೊದಲ ಒಂದು ಘೋಷಿಸಿದ ಪಡೆಯಲಿದ್ದೇನೆ ರೀತಿಯ ವಿದ್ಯಾರ್ಥಿ ರಚನೆಯ ನಾನು ಮಾಡುತ್ತೇವೆ
ರಚನೆಯ ವಿದ್ಯಾರ್ಥಿಗಳು ಕರೆ -
ಬಹುವಚನ -
ಮತ್ತು ನಾನು ಅದರ ಗಾತ್ರದ ಎಂದು ಸೂಚಿಸಲು ಮಾಡುತ್ತೇವೆ ಮೌಲ್ಯವನ್ನು ಇದು, ಸೂಚನೆ, ಮೂರು,
ನಿರಂತರ ವಿದ್ಯಾರ್ಥಿಗಳು -
ಎಲ್ಲಾ ರಾಜಧಾನಿಗಳು -
ನಾನು ಇಲ್ಲಿ ಡಿಕ್ಲೇರ್ಡ್ ಎಂಬುದನ್ನು, ಹಿಂದಿನ ಕಡತದಲ್ಲಿ.
ಈಗ ಆ ಮೂರು ಮೇಲೆ ತಿರುಗಿ ಲೆಟ್ ವಿದ್ಯಾರ್ಥಿಗಳು, ಮತ್ತು ಬಳಕೆದಾರರು ಪ್ರಾಂಪ್ಟ್
ಅವರ ಹೆಸರುಗಳು ಮತ್ತು ಮನೆ.
>> ನಾನು 0 ಪಡೆಯಲು ಇಂಟ್, ನಾನು ಕಡಿಮೆ ಎಂದು ನಿರಂತರ ಹೆಚ್ಚು, ನಾನು + +.
ಈಗ ಈ ದೇಹದ ಒಳಗೆ ಲೂಪ್, ನಾನು ಏನೋ ಮುದ್ರಿಸುತ್ತದೆ ಪಡೆಯಲಿದ್ದೇನೆ
ವಿದ್ಯಾರ್ಥಿಯ ಹೆಸರು ಹಾಗೆ.
ನಾನು ನಿಜವಾಗಿ ಪಡೆಯಲು ಪಡೆಯಲಿದ್ದೇನೆ ಸೂಚಿಸುವ ಮೂಲಕ ವಿದ್ಯಾರ್ಥಿಯ ಹೆಸರು
ವಿದ್ಯಾರ್ಥಿಗಳು ನಾನು ಆವರಣ.
ಅರ್ಥಾತ್ ನಾನು I-ನೇ ವಿದ್ಯಾರ್ಥಿ ಬಯಸುವ ಈಗ ವಿದ್ಯಾರ್ಥಿಗಳು ಎಂಬ ರಚನೆಯ, ಆದರೆ
ನಾನು I-ನೇ ವಿದ್ಯಾರ್ಥಿಯ ನಲ್ಲಿ ಸಿಗತ್ತೆ ಹೆಸರಿಸಲು, ಮತ್ತು ಇದನ್ನು, ನಾನು ಬಳಸಲು ಪಡೆಯಲಿದ್ದೇನೆ
. ಆಯೋಜಕರು, ಒಂದು ನಲ್ಲಿ ಪಡೆಯಬೇಕಾದರೆ struct ಆಫ್ ನಿರ್ದಿಷ್ಟ ಕ್ಷೇತ್ರದಲ್ಲಿ ಒಳಗೆ.
ಹಾಗಾಗಿ ವಿದ್ಯಾರ್ಥಿಗಳು ನಾನು. ಹೆಸರು ಆವರಣ ಸೂಚಿಸಲು GetString ಮರಳುವ ಮೌಲ್ಯವನ್ನು ಪಡೆಯುತ್ತದೆ ().
ಏತನ್ಮಧ್ಯೆ, ನಾನು ಮುದ್ರಿಸುತ್ತದೆ ಪಡೆಯಲಿದ್ದೇನೆ ಇದೇ ಏನೋ, ವಿದ್ಯಾರ್ಥಿಯ ಹೇಳುವ
ಮನೆ, ಮತ್ತು ಈಗ ನಾನು ಸೂಚಿಸಲು ಪಡೆಯಲಿದ್ದೇನೆ ನಾನು ನೇ ವಿದ್ಯಾರ್ಥಿಗಳು ಮನೆಯ ಕ್ಷೇತ್ರ
ಮರಳುವ ಮೌಲ್ಯವನ್ನು ಪಡೆಯಲು ಹಾಗಿಲ್ಲ GetString ಗೆ ಮತ್ತೊಂದು ಕರೆ ().
>> ಈಗ ಈ ಮೂರು ಏನಾದರೂ ಮಾಡೋಣ ವಿದ್ಯಾರ್ಥಿಗಳು ಹೆಸರುಗಳು ಮತ್ತು ಮನೆ,
ಮುದ್ರಣ ರೀತಿಯ ಸರಳ ಏನೋ ಒಂದು ವಾಕ್ಯದಲ್ಲಿ ಪ್ರತಿ ಔಟ್.
ಇಂಟ್ ನಾನು 0, ಮತ್ತೆ ನಾನು ಕಡಿಮೆ ಪಡೆಯುತ್ತೀರಿ ವಿದ್ಯಾರ್ಥಿಗಳು, ನಾನು + +, printf "% s ಅನ್ನು% s ಆಗಿದೆ.
ಬ್ಯಾಕ್ಸ್ಲ್ಯಾಷ್ n "ಮತ್ತು ಈಗ ನನಗೆ ಪ್ಲಗ್ ಅವಕಾಶ ಆ ಎರಡು ಜಾಗ ಮೌಲ್ಯಗಳನ್ನು,
ವಿದ್ಯಾರ್ಥಿಗಳು, ನಾನು. ಹೆಸರು, ಅಲ್ಪವಿರಾಮ ಬ್ರಾಕೆಟ್ ವಿದ್ಯಾರ್ಥಿಗಳು ನಾನು ಬ್ರಾಕೆಟ್. ಮನೆ, ನಿಕಟ
ಆವರಣ, ಅಲ್ಪವಿರಾಮ ಚಿಹ್ನೆಯಿಂದ.
>> ಮತ್ತು ಈಗ ನಾನು ಒಂದು ವಿಷಯವನ್ನು ಅಗತ್ಯವಿದೆ.
ಈ ಕಡತ ಕೆಳಭಾಗದಲ್ಲಿ, ನಾನು ಅಗತ್ಯವಿದೆ ಹಂಚಲಾಯಿತು ಮೆಮೊರಿ ಮುಕ್ತಗೊಳಿಸಲು
GetSring (), ಮೂಲಕ ತೆರೆಮರೆಯಲ್ಲಿ ಇದು ಸಹಜವಾಗಿ ಸಲುವಾಗಿ,, malloc ಕರೆಗಳು
ತಂತಿಗಳನ್ನು ಮೆಮೊರಿ ನಿಯೋಜಿಸಿ ಬಳಕೆದಾರ ರೀತಿಯ.
ಆದರೆ ಈ ಸರಳ.
ನಾನು 0 ಪಡೆಯಲು ಇಂಟ್, ನಾನು ಕಡಿಮೆ ವಿದ್ಯಾರ್ಥಿಗಳು, ನಾನು + +, ಮತ್ತು ದೇಹದ ಒಳಗೆ
ಈ ಲೂಪ್, ನಾನು ಕೇವಲ ಪಡೆಯಲಿದ್ದೇನೆ ಉಚಿತ ವಿದ್ಯಾರ್ಥಿಗಳು ಬ್ರಾಕೆಟ್ ನಾನು. ಹೆಸರು ಒದಗಿಸಲು,
ಮತ್ತು ಉಚಿತ ವಿದ್ಯಾರ್ಥಿಗಳು ನಾನು ಬ್ರಾಕೆಟ್. ಮನೆ.
>> ಈಗ, ನಾವು ಸ್ಪಷ್ಟವಾಗಿ ಕುಣಿಕೆಗಳು ಮೂರು ಬಳಸಲಾಗುತ್ತದೆ ಬಂದಿದೆ ಈ ಕಾರ್ಯಕ್ರಮದಲ್ಲಿ, ನಿಜವಾಗಿಯೂ ನಾನು
ಕೇವಲ ಒಂದು ಬಳಸಲಾಗುತ್ತದೆ, ಆದರೆ ಈ ಸಾಧ್ಯವಾಗಲಿಲ್ಲ ಕೇವಲ ಪ್ರದರ್ಶನ ಸಲುವಾಗಿ, ಆದ್ದರಿಂದ
ನಾವು ಮೂರು ವಿಭಿನ್ನ ರಲ್ಲಿ ಸೂಚಿಸಬಹುದು ನಾವು ಮಾಡುತ್ತಿರುವುದು ನಿಖರವಾಗಿ ನಿಲ್ಲುತ್ತಾಳೆ.
ನಾವು ಮೊದಲ ಒಂದು ಹೆಸರು ಮತ್ತು ಒಂದು ಮನೆಯನ್ನು ಬರುತ್ತಿದೆ ವಿದ್ಯಾರ್ಥಿಗಳು ಪ್ರತಿ, ನಾವು ನಂತರ ಆರ್
ಹೆಸರು ಮತ್ತು ಮನೆಯ ಔಟ್ ಮುದ್ರಣ ಮೂರು ವಿದ್ಯಾರ್ಥಿಗಳು ಪ್ರತಿ, ಮತ್ತು
ನಂತರ ನಾವು ಮೆಮೊರಿ ಮುಕ್ತಗೊಳಿಸಲು ನೀನು ವಿದ್ಯಾರ್ಥಿಗಳು ಪ್ರತಿ ಬಳಸುವ.
ಆದರೆ ಖಂಡಿತವಾಗಿ ನಾವು ಈ ಒಗ್ಗೂಡಿ ಬಂದಿದೆ ಎಂದು ಲೂಪ್ ಒಂದು ದೊಡ್ಡ ಒಳಗೆ.
>> ಕಂಪೈಲ್, ಈಗ ಉಳಿಸಲು ಅವಕಾಶ, ಮತ್ತು ಈ ಪ್ರೋಗ್ರಾಂ.
ಮಾಡಲು ಸ್ಟ್ರಕ್ಟ್ಸ್ಳ 0. / ಸ್ಟ್ರಕ್ಟ್ಸ್ಳ 0, ವಿದ್ಯಾರ್ಥಿಯ ಹೆಸರಿಸಲು, ಡೇವಿಡ್ ಒದಗಿಸಲು ಅವಕಾಶ, ಅವರು ಬದುಕುವಿರಿ
ಮ್ಯಾಥರ್ ಹೌಸ್, ವಿದ್ಯಾರ್ಥಿಯ ಹೆಸರು, ತಂದೆಯ ಅವಕಾಶ ಲಾರೆನ್ ಹೇಳುತ್ತಾರೆ, ಅವಳು Leverett, ವಾಸಿಸುತ್ತಿದ್ದಾರೆ ಮಾಡುತ್ತೇವೆ
ಹೌಸ್, ವಿದ್ಯಾರ್ಥಿಯ ಹೆಸರು, ರಾಬ್, ಅವರು ಮಾಡುತ್ತೇವೆ ಕಿರ್ಕ್ಲ್ಯಾಂಡ್ ಮನೆಯಲ್ಲಿ ವಾಸಿಸುತ್ತಿದ್ದಾರೆ.
ಮತ್ತು ವಾಸ್ತವವಾಗಿ, ಡೇವಿಡ್, ಮ್ಯಾಥರ್ ನಲ್ಲಿ ಲಾರೆನ್ Leverett, ಆಗಿದೆ
ಮತ್ತು ರಾಬ್ ಕಿರ್ಕ್ಲ್ಯಾಂಡ್ ಹೊಂದಿದೆ.