[ಸಂಗೀತ] ಡೇವಿಡ್ ಜೆ MALAN: ಸರಿ. ಈ CS50 ಹೊಂದಿದೆ. ಈ ವಾರ 5 ಪ್ರಾರಂಭ. ಮತ್ತು ನೀವು ಗಮನಿಸಬಹುದು ಎಂದು, ಕೆಲವು ವಸ್ತುಗಳನ್ನು ಸ್ವಲ್ಪ ಹೆಚ್ಚು ಗೆಟ್ಟಿಂಗ್ ಸಂಕೀರ್ಣ, ಕಡಿಮೆ ಸಾಂದ್ರತೆಯುಳ್ಳ. ಮತ್ತು ಇದು ವಿಶೇಷವಾಗಿ, ಅತ್ಯಂತ ಸುಲಭ ನೀವು ಕೆಲವು ಬಾರಿ ಅಭ್ಯಾಸ ಇಲ್ಲಿಗೆ ಅತ್ಯಂತ ಕೆಳಗೆ ಗೀಚುವ ಪ್ರಯತ್ನ ನಾವು ಏನು, ನಾವು ವರ್ಗ ಹೇಳುತ್ತಿದ್ದಾರೆಂಬುದನ್ನು. ಆದರೆ ಬಹುಶಃ ಅಲ್ಲ, ಅರ್ಥ ಆದರ್ಶ ಶೈಕ್ಷಣಿಕ ಮಾರ್ಗ ವಸ್ತು ಈ ರೀತಿಯ ಕಲಿಕೆಯ, ಮತ್ತು ವಸ್ತು ಹೆಚ್ಚು ಸಾಮಾನ್ಯವಾಗಿ. ಮತ್ತು ಆದ್ದರಿಂದ ನಾವು ತೃಪ್ತಿ ಆ CS50 ಆದ Gheng ಘೋಷಿಸಲು ಗಾಂಗ್ ತಯಾರು ಪ್ರಾರಂಭಿಸಿದೆ ಟಿಪ್ಪಣಿಗಳು ಸ್ವೀಕೃತ ಸೆಟ್ ಕೋರ್ಸ್, ಭರವಸೆ ಈ,, ಎಂದು ಒಂದಾಗಿದೆ ಕೇವಲ ಒಂದು ಬಳಸಲ್ಪಡುತ್ತದೆ ಉಲ್ಲೇಖ ಮತ್ತು ಒಂದು ಸಂಪನ್ಮೂಲ ವಸ್ತು ಪರಿಶೀಲಿಸಿದ ಮತ್ತು ಹೋಗುವ ಮತ್ತೆ ವಸ್ತುವಿನ ಮೂಲಕ ಹೊಂದಿರಬಹುದೆಂದು ನೀವು ಸುಮಾರು ಮೊದಲ ಬಾರಿಗೆ ತಪ್ಪಿಸಿಕೊಂಡ ಆದರೆ ಸಹ ಆದ್ದರಿಂದ ನಿಮ್ಮ ತಲೆ ಆಗಿರಬಹುದು ಹೆಚ್ಚು ಕೆಳಗೆ, ಅದು ಹೆಚ್ಚು ಅಪ್ ಉಪನ್ಯಾಸ ಸಮಯ ಬಂದಾಗ, ನೀವು ತೊಡಗಿಸಿಕೊಳ್ಳಲು ಬಹುದೆಂದು ಹೆಚ್ಚು thoughtfully, ಮಾಹಿತಿ ಹೆಚ್ಚು ಗೀಚಿದ ವಿರುದ್ಧವಾಗಿ. ಎಂದು ಹೇಳಿದರು, ನೀವು ಕಾಣುವಿರಿ ವೆಬ್ಸೈಟ್ ಈ ಮುಂತಾದ ದಾಖಲೆಗಳನ್ನು ಹೊಂದಿದೆ. ಮತ್ತು ಸೂಚನೆ, ಮೇಲಿನ ಎಡಭಾಗದಲ್ಲಿ ಇಲ್ಲ ಕೇವಲ ವಿಷಯಗಳ ಒಂದು ಟೇಬಲ್, ಆದರೆ ಸಮಯ ಸಂಕೇತಗಳು ಎಂದು ತಕ್ಷಣ ನೀವು ಜಿಗಿತವನ್ನು ಕಾಣಿಸುತ್ತದೆ ಸೂಕ್ತ ಭಾಗಕ್ಕೆ ವೀಡಿಯೊ ಆನ್ಲೈನ್. ಇಲ್ಲಿ ಏನು ಚಾಂಗ್ ಮಾಡಿದ್ದಾರೆ ಮೂಲಭೂತವಾಗಿ, ದಾಖಲಿಸಲಾಗಿದೆ ಈ ಸಂಭವಿಸಿದ ನಿರ್ದಿಷ್ಟ ಉಪನ್ಯಾಸ. ಮತ್ತು ಉಪನ್ಯಾಸಗಳನ್ನು ಅನೇಕ ಇವೆ ಈಗಾಗಲೇ ಆನ್ಲೈನ್ ಈಗ ಈ URL ನೊಂದಿಗೆ. ಮತ್ತು ನಾವು ಉಳಿದ ಪೋಸ್ಟ್ ಮುಂದುವರಿಸುತ್ತೇವೆ ಈ ವಾರದ ಕೊನೆಯಲ್ಲಿ ಆ, ಆದ್ದರಿಂದ ಆ ಸಂಪನ್ಮೂಲ ಲಾಭ ಇಲ್ಲ. ಆದ್ದರಿಂದ ಮುಂದಿನ ಸಡಗರ ಇಲ್ಲದೆ, ನಾವು ಮತ್ತೆ ಪೀಲ್ ಪ್ರಾರಂಭಿಸಿದರು ಎಂದು ಪದರ ಕೆಲವು ಬಾರಿ ಸ್ಟ್ರಿಂಗ್. ಮತ್ತು ನಾವು ಒಂದು ಸ್ಟ್ರಿಂಗ್ ಏನು ಹೇಳುತ್ತಾರೆ ವಾಸ್ತವವಾಗಿ ಕಳೆದ ವಾರ ಆಗಿದೆ? ಆದ್ದರಿಂದ ಚಾರ್ ಸ್ಟಾರ್. ಮತ್ತು ಚಾರ್ ಸ್ಟಾರ್, ಹಾಗೂ, ಏನು ನಿಜಕ್ಕೂ ಹೇಳಿದಿರಿ? ಅಲ್ಲದೆ, ಈ ಬಾರಿ, ನಾವು ಬಂದಿದೆ ಒಂದು ಕ್ರಿಯೆ ಎಂದು ಮಾಡಲಾಗಿದೆ, GetString, ಮತ್ತು ಸಂಗ್ರಹಿಸಲು ಹಾಗೆ ಹೀಗೆ ಲಾಭ ಒಂದು ರಲ್ಲಿ GetString ಮೌಲ್ಯವನ್ನು ವೇರಿಯಬಲ್ ಕರೆಯಲಾಗುತ್ತದೆ ನಾವು ಬರೆಯುವ ಮಾಡಿರುವ ಸ್ಟ್ರಿಂಗ್ ರು ಕೌಟುಂಬಿಕತೆ ಅಲ್ಲಿ ಮೇಲೆ ಸಂಕೇತದ ಸಾಲು. ನಾನು ನೋಡಿದಾಗ ಅದು ಮಾತ್ರ ನನ್ನ ಕೈಬರಹ ಇಲ್ಲಿ ಭೂತ ನಾನು ಈ ಕೇವಲ ಹೇಗೆ ದುಷ್ಟ ಅರ್ಥ. ಆದರೆ, ನ ಊಹಿಸುತ್ತವೆ ಅವಕಾಶ, ಬಲಗೈ ಬದಿಯಲ್ಲಿ ಆದಾಗ್ಯೂ, ಒಂದು ಸಮಂಜಸವಾದ ಎಂಬುದನ್ನು ವರ್ಣನೆಯನ್ನು ಈ ನಡೆಯುತ್ತಿವೆ GetString ನೊಂದಿಗೆ ಸಮಯ. GetString, ಸಹಜವಾಗಿ, ಸ್ಟ್ರಿಂಗ್ ಪಡೆಯುತ್ತದೆ. ಆದರೆ ನೈಜ ಅರ್ಥವೇನು? ಇದು ಒಂದು ಪಾಲನ್ನು ಗೆಟ್ಸ್ ಅಂದರೆ ಕಾರ್ಯವ್ಯವಸ್ಥೆಯನ್ನು ಮೆಮೊರಿ ಒಂದು ಕಾರ್ಯ ಕರೆದು, malloc ಎಂದು. ಆದರೆ ಆ ನಂತರ. ನಂತರ ಅದನ್ನು populates ಮೆಮೊರಿ ಆ ಚಂಕ್ ಅಕ್ಷರಗಳಿಂದ ಬಳಕೆದಾರ ಹೊಂದಿದೆ , ಬೆರಳಚ್ಚಿಸಿದ ನಂತರ, ಸಹಜವಾಗಿ, ಒಂದು ಶೂನ್ಯ ಪಾತ್ರ ಅಥವಾ ಬ್ಯಾಕ್ಸ್ಲ್ಯಾಷ್ ಅಂತ್ಯಕಾಲದಲ್ಲಿ ಶೂನ್ಯ. ಏತನ್ಮಧ್ಯೆ, ಎಡಗೈ ಬದಿಯಲ್ಲಿ ಈ ಕಥೆಯ, ಈ ಬಾರಿ, ನಾವು ರು, ಮಾರ್ಪಡಿಸಬಹುದಾದ ಘೋಷಿಸುವ ಬಂದಿದೆ. ಮತ್ತು ವೇರಿಯಬಲ್ ಈಗ ಏನು ಒಂದು ಪಾಯಿಂಟರ್ ಕರೆ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ. ಇದು ಯಾವ ಒಳಗೆ ಒಂದು ಬಾಕ್ಸ್ ಅಲ್ಲ ನಾವು ಸ್ಟ್ರಿಂಗ್ ಪುಟ್ Daven, ವಸ್ತುತಃ, ಆದರೆ ನಾವು ಆ ಚದರ ಪುಟ್ ಎಡ ನಿಖರವಾಗಿ ಬಾಕ್ಸ್? ಹೌದು? ಪ್ರೇಕ್ಷಕರು: ವಿಳಾಸವನ್ನು ಇದು ಮೆಮೊರಿ ಇದೆ ವಿಶೇಷವೇನು. ಡೇವಿಡ್ ಜೆ MALAN: ನಿಖರವಾಗಿ. Daven ಅಲ್ಲಿ ವಿಳಾಸವನ್ನು ನೆನಪಿಗಾಗಿ ಇದೆ. ಮತ್ತು Daven ಎಲ್ಲಾ, ಇದೆ ಅಲ್ಲ ಅಲ್ಲಿ ಆಗಿರಲಿಲ್ಲ, ಆದರೆ ವಿಶೇಷವಾಗಿ ವಿಳಾಸ ಏನು? ಹೌದು? ಪ್ರೇಕ್ಷಕರು: ಮೊದಲ ಪಾತ್ರ. ಡೇವಿಡ್ ಜೆ MALAN: ಮೊದಲ ಅಕ್ಷರ ಈ ಸಂದರ್ಭದಲ್ಲಿ Daven, ಇದು, ರಲ್ಲಿ, ನಾನು ನಿರಂಕುಶವಾಗಿ ಆಗಿತ್ತು ಪ್ರಸ್ತಾಪ ಮತ್ತು ಅವಾಸ್ತವಿಕವಾಗಿ 1, Ox1, ಇದು ಕೇವಲ ಅರ್ಥ 1 ಆಫ್ ಹೆಕ್ಸಾಡೆಸಿಮಲ್. ಆದರೆ ಇದು ಸಾಮಾನ್ಯವಾಗಿ ವಿಶೇಷವೇನು ಅತೀ ದೊಡ್ಡ ಸಂಖ್ಯೆ ಎಂದು ನಾವು ಸೆಳೆಯುವ ಎಂದು ಪೂರ್ವಪ್ರತ್ಯಯವಾಗಿ ಒಂದು 0x ಜೊತೆ, ಒಂದು ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ನಿರೂಪಿಸುವ. ನಾವು ಅಲ್ಲಿ ತಿಳಿಯಲು ಅಗತ್ಯವಿಲ್ಲ ಏಕೆಂದರೆ Daven ಪಾತ್ರಗಳನ್ನು ಉಳಿದ ಏಕೆಂದರೆ, ಏನು ಸರಳ ವಿನ್ಯಾಸ ನಿರ್ಧಾರ ಅನೇಕ ವರ್ಷಗಳ ಹಿಂದೆಯೇ ಮಾಡಿದ್ದಾರೆ? ಹೌದು? ಪ್ರೇಕ್ಷಕರು: Backslash 0. ಡೇವಿಡ್ ಜೆ MALAN: ಹೌದು, ನಿಖರವಾಗಿ. ಬ್ಯಾಕ್ಸ್ಲ್ಯಾಷ್ 0, ಆದರೂ ನೀವು ಅನುಮತಿಸುತ್ತದೆ ರೇಖೀಯ ಸಮಯದಲ್ಲಿ, ಸ್ಟ್ರಿಂಗ್ ಕ್ರಮಿಸುವ, ಎಡದಿಂದ ಬಲಕ್ಕೆ ನಡೆಯಲು, ಲೂಪ್, ಅಥವಾ ಸ್ವಲ್ಪ ಜೊತೆ ಲೂಪ್, ಅಥವಾ ಯಾವುದೋ ರೀತಿಯ ಎಂದು, ಮತ್ತು ಇಲ್ಲಿ, ಓಹ್, ನಿರ್ಧರಿಸಲು ಈ ನಿರ್ದಿಷ್ಟ ವಾಕ್ಯವನ್ನು ಅಂತ್ಯ. ಕೇವಲ ವಿಳಾಸದೊಂದಿಗೆ ಆದ್ದರಿಂದ ಸ್ಟ್ರಿಂಗ್ ಆರಂಭದಲ್ಲಿ, ನಾವು ಸಂಪೂರ್ಣ ಪ್ರವೇಶಿಸಬಹುದು ಇದು, ಈ ಸಂದರ್ಭದಲ್ಲಿ ಏಕೆಂದರೆ, ಸ್ಟ್ರಿಂಗ್ ಕೇವಲ ಚಾರ್ ಸ್ಟಾರ್ ಬಂದಿದೆ. ಆದ್ದರಿಂದ ಅನ್ನು ಮುಂದುವರಿಸಲು ಖಂಡಿತವಾಗಿ ಉತ್ತಮ ಇಲ್ಲಿದೆ CS50 ಗ್ರಂಥಾಲಯದ ಈ ಅಮೂರ್ತತೆ, ಆದ್ದರಿಂದ ಮಾತನಾಡಲು, ಆದರೆ ನಾವು ಮಾಡುತ್ತೇವೆ ನಿಖರವಾಗಿ ನೋಡಿ ಆರಂಭಿಸಿದಾಗ ಇಂದಿನ ವಿಶೇಷವೇನು ಇಡೀ ಸಮಯ ಕೆಳಗೆ. ಆದ್ದರಿಂದ ಈ ಉದಾಹರಣೆಗೆ ಸ್ಮರಿಸಿಕೊಳ್ಳಲು, ತುಂಬಾ ಕೊನೆಯ ಕಾಲಕ್ಕೆ, 0 ಹೋಲಿಸಿ, ಇದು ವಾಸ್ತವವಾಗಿ ಹೋಲಿಸಿ ಇಲ್ಲ. ಆದರೆ ಈ ಪರಿಹರಿಸಲು ಆರಂಭಿಸಿದರು. ಆದರೆ ಬಹುಶಃ ಒಂದು ನೆನಪು, ನಾನು ಯಾರಾದರೂ ಆಸಕ್ತಿ ಗುಲಾಬಿ ಆನೆ ಇಂದು, ಸಹ ಚಾಂಗ್ ಮಾಡಿದ? ಹೇಗೆ ಮುಂದೆ ನಿಮ್ಮ ಬಗ್ಗೆ? [ಕೇಳಿಸುವುದಿಲ್ಲ]. ಅಪ್ ಮೇಲೆ ಕಮ್. ಮತ್ತು ಮಧ್ಯೆ, ನೀವು ಬಂದಂತೆ, ಅವಕಾಶ ಕೇವಲ ಒಂದು ಕ್ಷಣ ಪರಿಗಣಿಸುವ ಈ ಕೋಡ್ ವಾಸ್ತವವಾಗಿ ಮಾಡುತ್ತಿದ್ದ. ಇದು ಎರಡು ಅಸ್ಥಿರ ಡಿಕ್ಲೇರ್ ಉನ್ನತ ರು ಮತ್ತು ಟಿ, ಮತ್ತು GetString ಎಂದು. ಈ, ಒಂದು ಅತ್ಯಂತ ಬಳಕೆದಾರ ಸ್ನೇಹಿ ಕಾರ್ಯಕ್ರಮ ಇದು ಹೇಳಲು ಕಾರಣ ಏನು. ಆದರೆ ನಾವು ಆರ್ ಊಹಿಸುತ್ತವೆ ಅವಕಾಶ ರಸವತ್ತಾದ ಭಾಗವನ್ನು ಕೇಂದ್ರೀಕರಿಸಿದ. ರು ಸಮನಾಗಿರುತ್ತದೆ ನಂತರ ನಾವು ಮಾಡಲು , ಇದು printf ಹೇಳಲು ಮಾಡಬೇಕು ಟಿ ಸಮನಾಗಿರುತ್ತದೆ, ಒಂದೇ ಟೈಪಿಸಿದ. ಹಲೋ. ನಿಮ್ಮ ಹೆಸರೇನು? ಜನೆಲಾ: ಜನೆಲಾ. ಡೇವಿಡ್ ಜೆ MALAN: ಜನೆಲಾ, ನೀವು ಭೇಟಿ ಸಂತೋಷ. ನಿಮ್ಮ ಸವಾಲು ಆದ್ದರಿಂದ ಈ ಆನೆ ಕೈ ಮೊದಲ ನಮಗೆ ಎಂಬುದನ್ನು ಚಿತ್ರವನ್ನು ಪಡೆದು ಆ ಮೊದಲ ಎರಡು ನಿರೂಪಿಸಲಾಗಿದೆ ಎಂದು ಸಾಲುಗಳನ್ನು. ಆದ್ದರಿಂದ ರು ಮತ್ತು ಟಿ ಇರಬಹುದು ಹೇಗೆ ಪರದೆಯ ಮೇಲೆ ನಿರೂಪಿಸಲಾಗಿದೆ? ಮತ್ತು ನೀವು ಅದನ್ನು ಸೆಳೆಯಬಲ್ಲದು ಈ ದೊಡ್ಡ ಪರದೆಯಲ್ಲಿ ನಿಮ್ಮ ಬೆರಳು. ಆದ್ದರಿಂದ ಎರಡು ಹಂತವಾಗಿ ಇಲ್ಲ ಎಂದು ಸಮೀಕರಣದ ಪ್ರತಿ ಬದಿಯಲ್ಲಿ. ಆದ್ದರಿಂದ ಎಡ ವಿಷಯದ ಇಲ್ಲಿದೆ, ಮತ್ತು ನಂತರ ಬಲಬದಿಯಲ್ಲಿ GetString. ನಂತರ ಟಿ, ಎಡಭಾಗದಲ್ಲಿ ಇಲ್ಲ ಮತ್ತು ನಂತರ ಬಲಬದಿಯಲ್ಲಿ GetString. ನಾವು ಹೇಗೆ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ ಚಿತ್ರವನ್ನು ಚಿತ್ರಿಸಿದ ಆ ಏನು ನಡೆಯುತ್ತಿದೆ ಎಂಬುದನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ ಇಲ್ಲಿ ಮೆಮೊರಿ, ನೀವು ಹೇಳಬಹುದು? ಮತ್ತು ನನಗೆ ವಿವರಿಸಲು ಅವಕಾಶ ನೀವು ಹೋಗಿ ಎಂದು ನೀವು ಮಾಡುತ್ತಿರುವುದು. ಜನೆಲಾ: ಸರಿ. ಸರಿ, ಮೊದಲ, ಇದು ಕೇಳುತ್ತಿದೆ ಎಂದು ನೀವು ಇನ್ಪುಟ್ ಸ್ಟ್ರಿಂಗ್ ಪಡೆಯಲು. ಮತ್ತು ಇದು ಕ್ಷಮಿಸಿ, ಓಹ್ store-- ಎಂದು. ಡೇವಿಡ್ ಜೆ MALAN: ಸರಿ. ಗುಡ್. ಈ ಏನೆಂದು ಕರೆಯುತ್ತಾರೆ? ಸರಿ, ಓ. ಮುಂದುವರಿಸುವುದಕ್ಕೆ. ನಾನು ಅಡ್ಡಿಪಡಿಸಲು ಹೇಳ್ತಾ ಇಲ್ಲ. ಜನೆಲಾ: ಕ್ಷಮಿಸಿ. ಆದ್ದರಿಂದ ಇನ್ಪುಟ್ ಇದನ್ನು ವುಡ್ ವಿಳಾಸ ಖಾತರಿಯಿಲ್ಲ ಇಲ್ಲಿದೆ. ನಾನು ನಿಖರವಾಗಿ ಸಂಖ್ಯೆ ನೆನಪಿರದೇ, ಆದರೆ ನಾನು 0 ಆರಂಭಗೊಂಡು ನಂಬುತ್ತೇವೆ. ಡೇವಿಡ್ ಜೆ MALAN: ಅದು, ಎಲ್ಲಾ ಸರಿ ನಾನು ಸಂಖ್ಯೆಗಳನ್ನು ಮಾಡಲ್ಪಟ್ಟಿದೆ, ಆದ್ದರಿಂದ ಸರಿ ಉತ್ತರ ಇಲ್ಲ. ಜನೆಲಾ: 0 ಚಾಪ ಆರಂಭಗೊಂಡು. ಡೇವಿಡ್ ಜೆ MALAN: ಸರಿ, ಆದ್ದರಿಂದ ಅಂಶ 0. ಖಂಡಿತ. ಜನೆಲಾ: ತದನಂತರ ಎಂದು ಕೇವಲ ಎರಡು ಅಕ್ಷರದ ರೀತಿಯ ಡೇವಿಡ್ ಜೆ MALAN: ಸರಿ, ನೀವು ಮರಳಿ. ಜನೆಲಾ: ಆದ್ದರಿಂದ ಅಂಶ 0, ಮತ್ತು ನಂತರ ಅಂಶ 1 ಅಥವಾ ಅಂಶ 2. ಇದು ತುಂಡು ಮತ್ತು ಡೇವಿಡ್ ಜೆ MALAN: ಚಿತ್ರವನ್ನು ನೀವು ಇದೀಗ ಪಡೆದುಕೊಳ್ಳುವುದಿಲ್ಲ? GetString ಗೆ ಕರೆ? ಅಥವಾ ರು ಘೋಷಣೆ? ಜನೆಲಾ: ಘೋಷಣೆ ರು, ನಾನು ನಂಬುತ್ತಾರೆ. ಓಹ್, GetString, ಇದು ಏಕೆಂದರೆ ಪ್ರತಿ [ಒಳಗೆ ಇನ್ಪುಟ್? ಪ್ರದೇಶ. ?] ಡೇವಿಡ್ ಜೆ MALAN: ಗುಡ್. ನಿಖರವಾಗಿ. ಈ ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಆದರೂ ಒಂದು ಶ್ರೇಣಿಯನ್ನು, ಮರುಸ್ಥಾಪನೆ ಹಿಂದಿರುಗಿಸುತ್ತದೆ, ನಾವು ಒಂದು ಸ್ಟ್ರಿಂಗ್ ಮತ್ತೆ ಪಡೆದಾಗ, ನಾವು 01 ಮತ್ತು 2 ಬಳಸಿ ಎಂದು ಸ್ಟ್ರಿಂಗ್ ಸೂಚ್ಯಂಕ. ತಾಂತ್ರಿಕವಾಗಿ, ಈ ಬಹುಶಃ ವೈಯಕ್ತಿಕ ವಿಳಾಸಗಳನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ, ಆದರೆ ಉತ್ತಮ ಇಲ್ಲಿದೆ. ಆದ್ದರಿಂದ, ಭಾವಿಸಿರಿ ನಾನು ವೇಗವಾಗಿ ಮಾಡಬಹುದು ನಾವು ಆಫ್ ಬಿಟ್ಟು ಅಲ್ಲಿ ಮುಂದೆ ಕಳೆದ ಬಾರಿ, ಒಂದು ವೇಳೆ ತಂತಿ, ಒಂದು ಬೌ ಇ ಗ್ರಾಂ ಆಗಿತ್ತು ಬ್ಯಾಕ್ಸ್ಲ್ಯಾಷ್ 0, ತನ್ಮೂಲಕ ಪ್ರತಿನಿಧಿಸುವ ಗೇಬ್ ನ ಇನ್ಪುಟ್, ಹೇಗೆ ನಾವು ಈಗ ಪ್ರತಿನಿಧಿಸುತ್ತವೆ? ಈ ಎಂದು ನೆನಪಾಗಿ ವೇಳೆ GetString ಅದಕ್ಕೆ ವಾಪಸಾದ? ಜನೆಲಾ: ಇದು ಎಂದು ಒಂದು ಚಾಪ ಪ್ರತಿನಿಧಿಸುತ್ತದೆ? ಡೇವಿಡ್ ಜೆ MALAN: ಒಂದು ಚಾಪ ಮೂಲಕ? ಯಾವುದೇ, ಉತ್ತಮ. , ಕೇವಲ ಸಚಿತ್ರವಾಗಿ, ಹೇಳಿ ನೋಡೋಣ ನನಗೆ ಮುಂದುವರಿಯಲು ಅವಕಾಶ ಈ ರು ವೇಳೆ ಮತ್ತು, ಈ ಸಲಹೆ getString ಮರಳುವ ಮೌಲ್ಯವನ್ನು ಹೊಂದಿದೆ. ಮತ್ತು ನೀವು 0, 1, 2, ಈ ಡ್ರಾ ಮಾಡಿದ ಇದು , ನಿಖರವಾಗಿ ಸಮಂಜಸವಾಗಿದೆ ನಾವು ಏಕೆಂದರೆ ಉದಾಹರಣೆಗೆ ಸ್ಟ್ರಿಂಗ್ ಸೂಚ್ಯಂಕ, ಮಾಡಬಹುದು. ಆದರೆ ಸ್ಥಿರವಾಗಿದೆ ಎಂದು ಕಳೆದ ಬಾರಿ, ನನಗೆ ಮುಂದುವರಿಯಲು ಅವಕಾಶ ಮತ್ತು ಕ್ರಮವಿಲ್ಲದ ಈ ಸಲಹೆ ವಿಳಾಸ 1 ಆಗಿದೆ, ಈ ವಿಳಾಸಕ್ಕೆ 2, ಈ ಇತ್ಯಾದಿ ವಿಳಾಸ 3, ಮತ್ತು ಹೊಂದಿದೆ. ಆದ್ದರಿಂದ, ಕೇವಲ ಸೂಪರ್ ಎಂದು ಸ್ಪಷ್ಟ, ಏನು ನಡೆಯುತ್ತಿದೆ ಆ ಪರಿಣಾಮವಾಗಿ ರು ಹೋಗಲು ಕೋಡ್ ಮೊದಲ ಸಾಲಿನಲ್ಲಿ, ನೀವು ಹೇಳಬಹುದು? ಜನೆಲಾ: ವಿಳಾಸ 1? ಡೇವಿಡ್ ಜೆ MALAN: ನಿಖರವಾಗಿ. ಆದ್ದರಿಂದ 0x1 ಪರಿಹರಿಸಲು. ಮತ್ತು ಏತನ್ಮಧ್ಯೆ, ನನಗೆ ಮುಂದುವರಿಯಲು ಅವಕಾಶ ಮತ್ತು ನೀವು ಮಾಡಿದ ಹೆಚ್ಚು ನಕಲು ಮತ್ತು ಇಲ್ಲಿ ನನ್ನ ಶಾಲೆ ಟಿ ಸೇರಿಸಿ. ನಾನು ಗೇಬ್ ಟೈಪ್ ವೇಳೆ ಮತ್ತೆ, ಎರಡನೇ ಬಾರಿಗೆ, GetString ನೊಂದಿಗೆ ಪ್ರಚೋದಿಸಿದಾಗ, ಅಲ್ಲಿ, ಸಹಜವಾಗಿ, ಗೇಬ್ ಹೋಗುತ್ತಿದ್ದೇವೆ? ಅಲ್ಲದೆ, presumably-- ಜನೆಲಾ: ಇಲ್ಲಿ ಲೈಕ್? ಡೇವಿಡ್ ಜೆ MALAN: ಹೌದು. ಜನೆಲಾ: ಅಥವಾ ಅದೇ ಪೆಟ್ಟಿಗೆಗಳಲ್ಲಿ ಇಲ್ಲಿದೆ? ಡೇವಿಡ್ ಜೆ MALAN: ನನಗೆ ಹೌದು, ಪ್ರಸ್ತಾಪಿಸಲು ಅವಕಾಶ ನಿಖರವಾಗಿ, ಈ ಹೆಚ್ಚುವರಿ ಪೆಟ್ಟಿಗೆಗಳಲ್ಲಿ ಆದ್ದರಿಂದ. ಆದರೆ ಈಗ ಪ್ರಮುಖ ಕೂಡ, ಎಂಬುದು ನಾನು ಈ ಅಂದವಾದ ಡ್ರಾ ಮಾಡಿದ ಸಹ ಒಟ್ಟಿಗೆ 0x1, ಈ ವಾಸ್ತವದಲ್ಲಿ 0x2-- ಇದೆ, ಈಗ, ವಿಳಾಸ 0x10 ಇರಬಹುದು ಉದಾಹರಣೆಗೆ, ಮತ್ತು 0x11, ಮತ್ತು 0x12, ಇತ್ಯಾದಿ. ಆದ್ದರಿಂದ, ಆ ಕೇಸ್ ವೇಳೆ, ಏನು ಟಿ ಇಲ್ಲಿ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ ವಿಶೇಷವೇನು? ಜನೆಲಾ: 0x10? ಡೇವಿಡ್ ಜೆ MALAN: ನಿಖರವಾಗಿ. ಆದ್ದರಿಂದ 0x10. ಆದ್ದರಿಂದ ಈಗ, ಅಂತಿಮ ಪ್ರಶ್ನೆ. ನೀವು ಇದುವರೆಗಿನ ದುಡಿಯಬೇಕಿತ್ತು ಇದುವರೆಗಿನ ಆನೆಯ ಕಠಿಣ. ಈಗ, ನಾನು ಕೋಡ್ ಪುಲ್ ಮತ್ತೆ, ನಾನು ಆಗ ಸಾಲಿನ ಮೂರು, ರು ಸಮನಾಗಿರುತ್ತದೆ ಟಿ ಸಮನಾಗಿರುತ್ತದೆ ವೇಳೆ, ನಾನು ನಿಜವಾಗಿ ನಾನು ನಾವು ಇಲ್ಲಿ ಡ್ರಾ ಮಾಡಿದ ಹೋಲಿಕೆ ಎಂದು? ಜನೆಲಾ: ಎರಡು ವಿಳಾಸಗಳು? ಡೇವಿಡ್ ಜೆ MALAN: ನಿಖರವಾಗಿ. ಹಾಗಾಗಿ ಟಿ ಸಮಾನವಾಗಿದೆ ರು ಇದೆ ಹೇಳುವ ನಾನು? ಅಂದರೆ, 10 ಸಮಾನವಾಗಿದೆ 1? ಮತ್ತು ಸಹಜವಾಗಿ, ಸ್ಪಷ್ಟ ಉತ್ತರ ಈಗ ಯಾವುದೇ, ಆಗಿದೆ. ಆದ್ದರಿಂದ ಈ ಕಾರ್ಯಕ್ರಮದಲ್ಲಿ ಅಂತಿಮವಾಗಿ ನೀವು ಹೇಳಬಹುದು, ಮುದ್ರಿಸಲು ವಿಶೇಷವೇನು? ಜನೆಲಾ: ಇದು, ಎಂದು ಒಂದೇ ಟೈಪಿಸಿದ? ಡೇವಿಡ್ ಜೆ MALAN: ಆದ್ದರಿಂದ ರು 1 ಮತ್ತು ಟಿ 10 ಆಗಿದೆ? ಜನೆಲಾ: ನೀವು ಬೇರೆ ವಸ್ತುಗಳನ್ನು ಟೈಪಿಸಿದ. ಡೇವಿಡ್ ಜೆ MALAN: ನಿಖರವಾಗಿ. ನೀವು ಬೇರೆ ವಸ್ತುಗಳನ್ನು ಟೈಪಿಸಿದ. ಸರಿ. ಆದ್ದರಿಂದ ಚಪ್ಪಾಳೆ ಒಂದು ಸುತ್ತಿನ, ಇಲ್ಲಿ, ನಾವು ಎಂದು. [ಚಪ್ಪಾಳೆಯನ್ನು] ಆ ನೋವು ತಂದಿದೆ. ನನಗೆ ಗೊತ್ತಿಲ್ಲ. ಚೆನ್ನಾಗಿ ಮಾಡಲಾಗುತ್ತದೆ. ಈಗ ನೋಡೋಣ ವೇಳೆ ಸಾಧ್ಯವಿಲ್ಲ ಫಿಕ್ಸ್ ಏನು ಹೊರತುಪಡಿಸಿ ಕೀಟಲೆ. ಮತ್ತು ಸಹಜವಾಗಿ, ನಾವು ಹೀಗೆ ಸ್ಥಿರ ಮಾಡಿದಾಗ ಇದು ನಾನು ಈಗ green-- ಪ್ರತಿನಿಧಿಸುವುದಿಲ್ಲ ಮಾಡುತ್ತೇವೆ ನಾವು ಇಲ್ಲಿ ವರ್ಧನೆಗಳನ್ನು ಒಂದೆರಡು ಮಾಡಿದರು. ಮೊದಲ, ಒಂದು ವಿವೇಕದ ಎಂದು ನಾನು ಮೊದಲ ಪರೀಕ್ಷಿಸುವ ನಾನು, ಪರಿಶೀಲಿಸಿ ರು ಶೂನ್ಯ ಸಮನಾಗಿರುತ್ತದೆ ಮತ್ತು ಟಿ ಶೂನ್ಯ ಸಮನಾಗಿರುತ್ತದೆ ವೇಳೆ. ಮತ್ತು ಕೇವಲ ಸ್ಪಷ್ಟ ಎಂದು, ಆಗ ಇರಬಹುದು ರು ಅಥವಾ ಟಿ ಈ ಕೋಡ್ ರಲ್ಲಿ ಶೂನ್ಯ ಎಂದು? ಯಾವಾಗ ರು ಅಥವಾ ಟಿ ಶೂನ್ಯ ಇರಬಹುದು. ಹೌದು? ಪ್ರೇಕ್ಷಕರು: [ಕೇಳಿಸುವುದಿಲ್ಲ]. ಡೇವಿಡ್ ಜೆ MALAN: ನಿಖರವಾಗಿ. ಸ್ಟ್ರಿಂಗ್ ಬಳಕೆದಾರ ಆ ವೇಳೆ ಬೆರಳಚ್ಚಿಸಿದ ರೀತಿಯಲ್ಲಿ ತುಂಬಾ ಉದ್ದವಾಗಿದೆ ಮೆಮೊರಿ ಸೂಕ್ತವಾಗಿರಬಹುದು, ಅಥವಾ ಕೆಲವು ಎಂದು ಒಮ್ಮೊಮ್ಮೆ ಮೂಲೆಯಲ್ಲಿ ಸಂದರ್ಭದಲ್ಲಿ, ನಾವು ನೋಡುತ್ತಾರೆ ಎಂದು ಅಕ್ಷರಶಃ, GetString ಇಂದು, ತನ್ನ ದಸ್ತಾವೇಜನ್ನು, ಅದನ್ನು ಶೂನ್ಯ ಹಿಂದಿರುಗುವ ಹೇಳುತ್ತಾರೆ ವಿಶೇಷ ಸೆಂಟಿನೆಲ್ ಮೌಲ್ಯ, ಅಥವಾ ಕೇವಲ ರೀತಿಯ ವಿಶೇಷ ಚಿಹ್ನೆ ಎಂದು ಏನೋ ತಪ್ಪಾಗಿದೆ ಅರ್ಥ. ನಾವು ಪರಿಶೀಲಿಸಲು ಬಯಸುವ ಇದು ತಿರುಗಿದರೆ, ಆ ಶೂನ್ಯ ಅತ್ಯಂತ ಅಪಾಯಕಾರಿ ಮೌಲ್ಯವಾಗಿದೆ. ಸಾಮಾನ್ಯವಾಗಿ, ನೀವು ಏನಾದರೂ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿದರೆ ಶೂನ್ಯ ಹಾದುಹೋಗುವ ಒಂದು ಕಾರ್ಯ ಒಳಗೊಂಡ ಇನ್ಪುಟ್ ಎಂದು ಕಾರ್ಯ instance-- ಫಾರ್ ಬಹಳ ಅದರೊಂದಿಗೆ, ಕುಸಿತಕ್ಕೆ ಮತ್ತು ಇರಬಹುದು, ನಿಮ್ಮ ಇಡೀ ಕಾರ್ಯಕ್ರಮ ಕೆಳಗೆ ತೆಗೆದುಕೊಳ್ಳಲು. ಆದ್ದರಿಂದ ಈ ಮೂರನೇ ಸಾಲು ಈಗ ಒಂದು ವಿವೇಕದ ಆಗಿದೆ ನೀವು ತಿನ್ನುವೆ ವೇಳೆ, ದೋಷ ಪರಿಶೀಲನೆ ಪರಿಶೀಲಿಸಿ. ಅದಕ್ಕಾಗಿ ಈಗ ಉತ್ತಮ ಅಭ್ಯಾಸ ಇಲ್ಲಿದೆ ನಮಗೆ ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ಬರಲು ನಾವು ಈ ಕೆಳಗಿನ ಬಳಸಲು ಪ್ರಯತ್ನಿಸಿ ಎಂದು ಸಂಭಾವ್ಯವಾಗಿ, ಶೂನ್ಯ ಆಗಿರಬಹುದು. ಈಗ, ಇಲ್ಲಿ ನಾಲ್ಕನೇ ಸಾಲಿನಲ್ಲಿ, "ವೇಳೆ strcmp (ಗಳು, ಟಿ)," ಚೆನ್ನಾಗಿ, ಏನು ಉಲ್ಲೇಖಿಸಿ ಈಸ್? ಹಾಗೆಯೇ, ನಾವು ಈ ಬಹಳ ಸಂಗ್ರಹವಾಗಿ ಒಂದು ಹೇಳಿದರು ಸ್ಟ್ರಿಂಗ್ ಹೋಲಿಕೆ ಹೆಸರಿನ ಕಾರ್ಯ. ಮತ್ತು ಜೀವನದಲ್ಲಿ ಅದರ ಉದ್ದೇಶ ಹೋಲಿಕೆ ಮಾಡುವುದು ಎರಡನೇ ಇದು ವಿರುದ್ಧ ಮೊದಲ ವಾದವನ್ನು, ಆದರೆ ತಮ್ಮ ವಿಳಾಸಗಳನ್ನು ವಿಷಯದಲ್ಲಿ, ನಾವು ಕೊಂಚ ಅನುದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಮಾಡಿದಂತೆ ಹಿಂದೆ ಕೆಂಪು ಕೋಡ್ ಜೊತೆ, ಆದರೆ ಬದಲಿಗೆ ಆ ಎರಡು ಹೋಲಿಸಿ ಮನುಷ್ಯನಂತೆ ಅರ್ಥಗರ್ಭಿತ ತಂತಿಗಳನ್ನು ಈ ವಿರುದ್ಧ, ಈ ಹೋಲಿಸಿ ರೀತಿಯಲ್ಲಿ, ಈ, ಈ ವಿರುದ್ಧ, ಮತ್ತು ವಿರುದ್ಧ ನಂತರ ನಿಲ್ಲಿಸುವ ಒಂದು ವೇಳೆ ಮತ್ತು ಅಥವಾ ನನ್ನ ಬೆರಳುಗಳು ಎರಡೂ ಒಂದು backslash 0 ತಾಗುತ್ತದೆ. ಆದ್ದರಿಂದ ಯಾರಾದರೂ ವರ್ಷಗಳ ಹಿಂದೆ ಜಾರಿಗೆ strcmp ಕಾರ್ಯವನ್ನು ನಮಗೆ ಕಾರ್ಯಗತಗೊಳಿಸಲು ನಾವು ಪಡೆದ ಆಶಿಸಿದ್ದು ಕೇವಲ ಎರಡು ಸರಳ ಮೌಲ್ಯಗಳನ್ನು ಹೋಲಿಸಿ. ಈಗ ನಾನೂ, ಚಿತ್ರ ಇರಿಸಿಕೊಳ್ಳಲು ಈ ವಿವಿಧ ಸಂಖ್ಯೆಗಳ ಎಲ್ಲಾ. ಆದರೆ ವಾಸ್ತವದಲ್ಲಿ ನಾನು ಇಲ್ಲಿಗೆ, ಆಗಿದೆ ಇಡೀ ಸಮಯ ಈ ರೂಪಿಸಿದ್ದ. ಆದ್ದರಿಂದ ನನ್ನ ಮುಂದೆ ಹೋಗಿ ಅವಕಾಶ ಮತ್ತು ಈ ಔಟ್ ಗೀಚುವ ಒಂದು ಪಾಯಿಂಟ್ ಮಾಡಲು ಎಂದು, ಕೊನೆಯಲ್ಲಿ ದಿನದ ಮತ್ತು ಮುಂದೆ ಚಲಿಸುವ, ನಾವು ನಿಜವಾಗಿಯೂ ಕಾಳಜಿ ಹೋಗುತ್ತಿಲ್ಲ ಯಾವ ವಸ್ತುಗಳು ವಾಸ್ತವವಾಗಿ ವಿಳಾಸಗಳು ನೆನಪಿಗಾಗಿ. ಹಾಗಾಗಿ ಈ ಸೆಳೆಯಲು ನಾನೇನು ತುಂಬಾ ಎಂದಿಗೂ ಸಂಖ್ಯೆಗಳ ರೀತಿಯ, ನಾನು ದೂರ ಒಂದು ಈ ಕೇವಲ ಒಂದು ಅಮೂರ್ತ ಮನುಷ್ಯ ಕೇವಲ ಬಾಣಗಳು ಹೆಚ್ಚು ಸ್ನೇಹಿ ಸಣ್ಣ. ಬೇರೆ ರೀತಿಯಲ್ಲಿ ಹೇಳುವುದಾದರೆ, ಒಂದು ಪಾಯಿಂಟರ್ ವೇಳೆ, ಜೊತೆಗೆ, ಕೇವಲ ಅಕ್ಷರಶಃ ಇದು ರಚಿಸೋಣ ಒಂದು ಪಾಯಿಂಟರ್, ಬಾಣ ಸೂಚಿಸುವ , ಯಾವುದೋ ನಿಂದಲೇ ಮತ್ತು ಬಗ್ಗೆ ಹೆಚ್ಚು ಹೆಚ್ಚು ಚಿಂತಿಸಬೇಡಿ ಈ ವಿಳಾಸಗಳು minutia ಇದು, ಮತ್ತೆ, ನಾನು ಹೇಗಾದರೂ ಮಾಡಲ್ಪಟ್ಟಿದೆ. ಆದರೆ ನಾವು ಆ ವಿಳಾಸಗಳನ್ನು ನೋಡುತ್ತಾರೆ, ಕೆಲವೊಮ್ಮೆ, ಕೋಡ್ ಡೀಬಗ್ ಮಾಡಿದಾಗ. ಈಗ ಏತನ್ಮಧ್ಯೆ, ಈ ಪ್ರೋಗ್ರಾಂ ಇಲ್ಲಿ ಪರಿಹಾರಗಳನ್ನು, ಸಹಜವಾಗಿ, ಹೋಲಿಸಿ ಆ ಸಮಸ್ಯೆ ಆ ಎರಡು ತಂತಿಗಳು. ಆದರೆ ನಾವು ಮತ್ತೊಂದು ಸಮಸ್ಯೆಯನ್ನು ನಡೆಯಿತು. ಈ ಪ್ರತಿಯನ್ನು ಆಗಿತ್ತು ಕೊನೆಯ ಕಾರ್ಯಕ್ರಮಗಳನ್ನು ಆ ಮೂಲಕ, ನಾನು, ಲಾಭ ಹಾಕಿದ್ದೆ ಸ್ಟ್ರಿಂಗ್ ಕೇವಲ ಮೊದಲ ಅಕ್ಷರ. ಆದರೆ ಲಕ್ಷಣ ಏನು ನಾವು ಕೊನೆಯ ಬಾರಿ ನೋಡಿದ ಒಂದು ಬಳಕೆದಾರ, ಈ ಕೆಳಗಿನ ಬೆರಳಚ್ಚಿಸಿದ ಸಣ್ಣ ರಲ್ಲಿ ಗೇಬ್, ರು, ನಂತರ ನಾವು, ಟಿ ಒಳಗೆ ರು ಅದಕ್ಕೆ ಮೂರನೇ ಸಾಲಿನಲ್ಲಿ ಎಂದು, ಮತ್ತು ನಂತರ ನಾನು ಪ್ರಯತ್ನಿಸಿದ ಟಿ ಬ್ರಾಕೆಟ್ 0 ಲಾಭ? ಪರಿಣಾಮ ಏನು ಟಿ ಬ್ರಾಕೆಟ್ 0 ಇಲ್ಲಿ ಬದಲಾವಣೆ? ಪ್ರೇಕ್ಷಕರು: ಇದು ಬದಲಾಗಿದೆ. ಡೇವಿಡ್ ಜೆ MALAN: ಹೌದು, ನಾನು ಹಾಗೆಯೇ, ರಿಬ್ಬನ್. ನಿಜವಾಗಿಯೂ ಇಂದಿನ ಕಾರಣ? ನಾನು ಸ್ವಚ್ಛಗೊಳಿಸಲು ಒಂದು ವೇಳೆ ನನಗೆ ನೋಡೋಣ ಈ ಚಿತ್ರವನ್ನು, ಮಾಹಿತಿ ಅನುಸರಿಸುತ್ತದೆ. ರು ವೇಳೆ, ಮತ್ತೆ, ಪದ ಗ್ರಾಂ, ಎ, ಬಿ, ಇ, ಬ್ಯಾಕ್ಸ್ಲ್ಯಾಷ್, 0, ಮತ್ತು ಗಳು ನಾವು ಬಾಕ್ಸ್ ಎಂದು ಡ್ರಾಯಿಂಗ್ ಮುಂದುವರಿಸುತ್ತೇವೆ ಇಲ್ಲಿ, ಆದರೆ ಯಾವುದೇ ವಿಳಾಸಗಳು. ನ ವಿಷಯಗಳನ್ನು ಮಾಡಿಕೊಂಡು ನಿಲ್ಲಿಸಲು ಅವಕಾಶ. ಸುಮ್ಮನೆ ಚಿತ್ರ ರಚಿಸೋಣ ವಿಶ್ವದ ಸರಳಗೊಳಿಸುವ. ನಾನು ಸ್ಟ್ರಿಂಗ್ ಟಿ ಟಿ ಘೋಷಿಸಿದ ಸಂದರ್ಭದಲ್ಲಿ, ಆ ಮೆಮೊರಿ ಆ ಚಂಕ್ ಸೃಷ್ಟಿಸುತ್ತದೆ. ಸ್ಕ್ವೇರ್ 32 ಎಂದು ಸಂಭವಿಸುತ್ತದೆ ಅತ್ಯಂತ ಕಂಪ್ಯೂಟರ್ಗಳಲ್ಲಿ ಬಿಟ್ಗಳು. ವಾಸ್ತವವಾಗಿ, ನೀವು ಯಾವಾಗಲಾದರೂ ಒಂದು ಕೇಳಿರುವ ಕಂಪ್ಯೂಟರ್, ಒಂದು 32 ಬಿಟ್ ವಿನ್ಯಾಸವನ್ನು ಹೊಂದಿರುವ ನಿಜವಾಗಿಯೂ ಅಲಂಕಾರಿಕ ಮಾತನಾಡಲು, ಕೇವಲ ಇದು 32 ಬಿಟ್ ವಿಳಾಸಗಳನ್ನು ಬಳಸುವ ಅರ್ಥ. ಮತ್ತು ಪಕ್ಕಕ್ಕೆ ಒಂದು ತಾಂತ್ರಿಕ ಮಾಹಿತಿ, ನೀವು ಎಂದಾದರೂ ಯೋಚಿಸಿದ್ದೀರಾ ವೇಳೆ ಏಕೆ ಹಳೆಯ ಕಂಪ್ಯೂಟರ್ಗಳು, ವಾಸ್ತವವಾಗಿ ನೀವು RAM ನ ಸಾಕಷ್ಟು ಸೂಪ್ ಅವುಗಳನ್ನು ಪ್ರಯತ್ನಿಸಿದರು, ಸದ್ಯ ಕೇವಲ ತೋರಿಸಬಹುದಿತ್ತು RAM ನ ನಾಲ್ಕು ಗಿಗಾಬೈಟ್, ಆ ಅಕ್ಷರಶಃ ಏಕೆಂದರೆ ಇಲ್ಲಿದೆ, ನಿಮ್ಮ ಹಳೆಯ ಕಂಪ್ಯೂಟರ್ ಸಾಧ್ಯವೋ ಮಾತ್ರ 4 ಎಂದು ಎಣಿಕೆ ಬಿಲಿಯನ್, 4 ಬಿಲಿಯನ್ ಬೈಟ್ಗಳು, ಇದು ಏಕೆಂದರೆ 32 ಬಿಟ್ ಬಳಸುತ್ತಿದ್ದರು ವಿಳಾಸಗಳನ್ನು ಸಂಖ್ಯೆಗಳು. ಆದರೆ ಯಾವುದೇ ಸಂದರ್ಭದಲ್ಲಿ, ಈ ಉದಾಹರಣೆಗೆ, ಕಥೆಯ ಹೆಚ್ಚು ಸರಳವಾದ. ಟಿ ಮತ್ತೊಂದು ಪಾಯಿಂಟರ್, ಅಥವಾ ನಿಜವಾಗಿಯೂ ಚಾರ್ ಸ್ಟಾರ್, ಅಕಾ ಸ್ಟ್ರಿಂಗ್. ಮತ್ತು ಹೇಗೆ ನಾನು ಈ ಚಿತ್ರವನ್ನು ನವೀಕರಿಸಲು ಬಯಸುತ್ತೀರಾ ಈಗ ಕೋಡ್ ಎಂದು ಎರಡನೇ ಲೈನ್, ಡಾಟ್ ನಂತರ, ಡಾಟ್, ಡಾಟ್? ಆಗ ಸ್ಟ್ರಿಂಗ್ ಟಿ, ರು ಅರ್ಧವಿರಾಮ ಸಮನಾಗಿರುತ್ತದೆ ಈ ಚಿತ್ರವನ್ನು ಹೇಗೆ ಬದಲಾಗಬಹುದು? ಹೌದು? ಪ್ರೇಕ್ಷಕರು: [ಕೇಳಿಸುವುದಿಲ್ಲ]. ಡೇವಿಡ್ ಜೆ MALAN: ಹೌದು. ನಿಖರವಾಗಿ. ನಾನು ಒಂದು ಬಾಣದ ಪುಟ್ ಅದೇ ವಿಳಾಸಕ್ಕೆ ಟಿ ಬಾಕ್ಸ್, ಅದೇ ಮೊದಲ ಪತ್ರ ನೀಡಿದರು. ಅಥವಾ ತಾಂತ್ರಿಕವಾಗಿ, ಈ ವ್ಯಕ್ತಿ, 0x1 ನಲ್ಲಿ ಇನ್ನೂ ನಾನು ಹೊಂದಿತ್ತು ಸೂಚಿಸುತ್ತದೆ ಇಲ್ಲಿ 0x1 ಮತ್ತು ಇಲ್ಲಿ 0x1. ಆದರೆ ಮತ್ತೆ, ಯಾರು ಕೇಳ್ತಾರೆ ವಿಳಾಸಗಳನ್ನು ಬಗ್ಗೆ? ಈಗ ಆ ಸಂಗತಿಗಳನ್ನು ಕೇವಲ ಉಪಾಯ. ಆದ್ದರಿಂದ ಈ ಇಲ್ಲಿ ಏನು ನಡೆಯುತ್ತಿದೆ ಎಂಬುದನ್ನು ಆಗಿದೆ. ಸಹಜವಾಗಿ, ನೀವು ವೇಳೆ ಟಿ ಬ್ರಾಕೆಟ್ ಆದ್ದರಿಂದ ಸರಣಿ ಸಂಕೇತ ಇದು 0,, ಆಫ್ ಪಠ್ಯ ಮತ್ತು ನಾನೂ, ಇದು ಕಾಣುತ್ತದೆ ಇಲ್ಲಿ ಒಂದು ಶ್ರೇಣಿಯನ್ನು ಇಲ್ಲ ಹಾಗೆ, ಆದರೆ ಈಗ ಈ ವಿಲಕ್ಷಣ ವಿಷಯ ಇಲ್ಲ. ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆ ನೋ, ಸಿ, ಈ ಲಕ್ಷಣ ಆ ಮೂಲಕ, ಟಿ ಒಂದು ಸಹ ಪಾಯಿಂಟರ್, ಅಥವಾ ಒಂದು ಪಾಯಿಂಟರ್ ಹೊಂದಿದೆ, ನೀವು ಇನ್ನೂ, ಎಂದು ಪರಿಚಿತ ಆರಾಮದಾಯಕ ಚೌಕಾಕಾರದ ಬ್ರಾಕೆಟ್ ಸಂಕೇತ ಮೊದಲಿಗೆ ಅಂಶ ಹೋಗಲು, ಎರಡನೇ ಅಂಶ, ಅಥವಾ ಯಾವುದೇ ಅಂಶ ಅಥವಾ ಪಾಯಿಂಟರ್ ತೋರುತ್ತಿರುವಂತೆ ನಿಗದಿಪಡಿಸಲಾಗಿದೆ ಸಂಭಾವ್ಯವಾಗಿ, ಏಕೆಂದರೆ, ಇದು ಈ ಸಂದರ್ಭದಲ್ಲಿ ಮಾಹಿತಿ, ಆಗಿದೆ ಕೆಲವು ಶ್ರೇಣಿಯನ್ನು ಸೂಚಿಸುವ. ಆದ್ದರಿಂದ ನಾವು ಈ ಹೊಂದಿಸುವುದು? ಇದು ಒಂದು ಆದರು ನಾನೂ ಈ ಮೊದಲ ನೋಟದಲ್ಲಿ ಸ್ವಲ್ಪ ಅಗಾಧ. ಆದರೆ ಇಲ್ಲಿ ಒಂದು ಹೊಸ ಮತ್ತು ಸುಧಾರಿತ ಆವೃತ್ತಿಯಾಗಿದೆ. ಮೊದಲು, ನಾನು ಪಡೆಯುವಲ್ಲಿ ಬಾಗುತ್ತೇನೆ CS50 ಗ್ರಂಥಾಲಯದ ತ್ಯಜಿಸುವುದು, ಕೇವಲ ನಿಜಕ್ಕೂ ರು ಇದೆ ಒಡ್ಡಲು ಚಾರ್ ಸ್ಟಾರ್, ಕೇವಲ ಒಂದು ಸಮಾನಾರ್ಥಕ. ಮತ್ತು ಟಿ ಒಂದು ಚಾರ್ ನಟ. ಆದರೆ ಮೇಲೆ ಏನಾಗುತ್ತಿದೆ ಆ ಸಾಲಿನ ಬಲಭಾಗದಲ್ಲಿರುವ ಟಿ ಈ ಕೆಳಗಿನ ಅದಕ್ಕೆ ಅಲ್ಲಿ? , Malloc ಏನು? ಇದು ಏನು strlen ವಿಶೇಷವೇನು? Sizeof (ಚಾರ್) ಏನು? ಏಕೆ ಬೀಟಿಂಗ್ ಮಾಡುತ್ತದೆ ಸಾಲು ನೋಟ ಸಂಕೀರ್ಣವಾಗಿವೆ? ಏನು ಇದು ಒಂದು ಹೆಚ್ಚಿನ ಮಟ್ಟದಲ್ಲಿ ಮಾಡುತ್ತಿದ್ದಾರೆ? ಏನು ಇದು ಟಿ ಸಂಗ್ರಹಿಸಲು? ಹೌದು? ಪ್ರೇಕ್ಷಕರು: ನೀಡಲು ನ ಒಂದು ಮೆಮೊರಿ ಜಾಗವನ್ನು ನಿರ್ದಿಷ್ಟ ಪ್ರಮಾಣದ. ಇದು, ಶೇಖರಿಸಿಡಲು ಇಲ್ಲಿದೆ ಊಹೆ, ಅಕ್ಷರಗಳು [ಕೇಳಿಸುವುದಿಲ್ಲ]. ಡೇವಿಡ್ ಜೆ MALAN: ಪರ್ಫೆಕ್ಟ್. ಪರ್ಫೆಕ್ಟ್. ಇದು ಒಂದು ನಿರ್ದಿಷ್ಟ ನೀಡಲು ನ ಮೆಮೊರಿ ಪ್ರಮಾಣವನ್ನು ಸಂಭಾವ್ಯವಾಗಿ, ಭವಿಷ್ಯದ ಅಕ್ಷರಗಳನ್ನು ಸಂಗ್ರಹಿಸಲು. ವಿಶೇಷವಾಗಿ, malloc ಯಾವ ಮರಳಲಿದ್ದಾರೆ? ಪ್ರೇಕ್ಷಕರು: [ಕೇಳಿಸುವುದಿಲ್ಲ] ಹಿಂದಿರುಗುತ್ತಿದ್ದೀರಾ? ಡೇವಿಡ್ ಜೆ MALAN: ನಿಖರವಾಗಿ. ಮೆಮೊರಿ ವಿಳಾಸಕ್ಕೆ ಮರಳುತ್ತಿದ್ದ ಇದು ಹೇಳುವ ಒಂದು ಅಲಂಕಾರಿಕ ಮಾರ್ಗವಾಗಿದೆ, ವಿಳಾಸಕ್ಕೆ ಹಿಂದಿರುಗಿಸುತ್ತದೆ ಆ ಮೆಮೊರಿಯ ಮೊದಲ ಬೈಟ್. ನನಗೆ ನೆನಪಿಡುವ ಭಾರ ಆಗಿದೆ ಎಷ್ಟು ಮೆಮೊರಿ ನಾನು ಹಂಚಿಕೆ ಅಥವಾ ಗೆ malloc ಕೇಳಿದರು. ಈಗ ಎಷ್ಟು? ಜೊತೆಗೆ, ಅಲ್ಲಿ ಸಹ ಇಲ್ಲಿ ಆವರಣ ಸಾಕಷ್ಟು, , malloc ಕೇವಲ ಒಂದು ವಾದದ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ನಾನು ರು ಆಫ್ strlen ಸೂಚಿಸುವ, ಆದ್ದರಿಂದ ನೀಡಿ ಬಾಗುತ್ತೇನೆ ನನಗೆ ಅನೇಕ ಬೈಟ್ಗಳು ಗಳು ಇವೆ ಎಂದು, ಆದರೆ ಒಂದು ಸೇರಿಸಿ. ಏಕೆ? ಹೌದು? ಪ್ರೇಕ್ಷಕರು: ಬ್ಯಾಕ್ಸ್ಲ್ಯಾಷ್ 0. ಡೇವಿಡ್ ಜೆ MALAN: ನಿಖರವಾಗಿ. ನಾವು ಸ್ವಲ್ಪ ಮನೆಗೆಲಸ ಮಾಡಲೇಬೇಕು. ಒಂದು backslash ಇರುವುದರಿಂದ ಆದ್ದರಿಂದ 0, ನಾವು ಉತ್ತಮ ಎಂದು ನೆನಪಿಡಿ ಬಯಸುವ. ಇಲ್ಲವಾದರೆ, ನಾವು ನೀನು ಸ್ಟ್ರಿಂಗ್ ಸೃಷ್ಟಿಸಲು ಎಂದು ವಿಶೇಷ ಟರ್ಮಿನೇಟರ್ ಹೊಂದಿಲ್ಲ. ಏತನ್ಮಧ್ಯೆ, ಕೇವಲ ಸೂಪರ್ ಎಂದು ಗುದ, ನಾನು, sizeof (ಚಾರ್) ಹೊಂದಿವೆ ಕೇವಲ ಸಂದರ್ಭದಲ್ಲಿ ಯಾರಾದರೂ ನನ್ನ ಸಾಗುತ್ತದೆ ಅಲ್ಲ CS50 ಉಪಕರಣಗಳಲ್ಲಿರುವ ಮೇಲೆ ಕೋಡ್, ಆದರೆ ಬಹುಶಃ ಬೇರೆ ಕಂಪ್ಯೂಟರ್ ಒಟ್ಟಾರೆಯಾಗಿ ಅಲ್ಲಿ ಅಕ್ಷರಗಳನ್ನು ರೂಢಿ, ಒಂದು ಬೈಟ್, ಆದರೆ ಎರಡು ಬೈಟ್ಗಳು, ಅಥವಾ ಆ ದೊಡ್ಡ ಏನೋ. ಅದು ಸೂಪರ್ ಎಂದು ಇಲ್ಲಿದೆ, ದೋಷಗಳನ್ನು ಸೂಪರ್ ಸಾಕ್ಷಿಯಾಗಿತ್ತು. ಸಹ, ವಾಸ್ತವದಲ್ಲಿ, ಇದು ಇಲ್ಲಿದೆ ಹೆಚ್ಚಾಗಿ ಒಂದು 1 ಏರಲಿದೆ. ಈಗ, ಏತನ್ಮಧ್ಯೆ, ನಾನು ಮುಂದೆ ಹೋಗಿ ನಕಲಿಸಿ ಸ್ಟ್ರಿಂಗ್, ಟಿ ಬ್ರಾಕೆಟ್ ನಾನು ಟಿ ಬ್ರಾಕೆಟ್ ರು ಸಮನಾಗಿರುತ್ತದೆ. ನಾನು ಕಳೆದ ವಾರ ಗೆ ಮುಂದೂಡಲು ಮೂಲ ಕೋಡ್ ಏನು ನಡೆಯುತ್ತಿದೆ ಎಂಬುದನ್ನು ನೋಡಲು. ಪ್ರಮುಖ ಟೇಕ್ಅವೇ, ಮತ್ತು ಆದರೆ ಕಾರಣ ನಾನು, ಹಸಿರು ಈಗ ಕೋಡ್ ಪುಟ್ , ಬಹಳ ಕೊನೆಯ ಸಾಲಿನ ಏಕೆಂದರೆ ಟಿ ಬ್ರಾಕೆಟ್ 0, toupper ಸಮನಾಗಿರುತ್ತದೆ ಪರಿಣಾಮವನ್ನು ಹೊಂದಿದೆ ಬಂಡವಾಳ ಸ್ಟ್ರಿಂಗ್? ಟಿ ಮತ್ತು / ಅಥವಾ ಗಳು? ಕೋಡ್ ಆಫ್ ಕೊನೆಯ ಸಾಲು. ಏನು ಏಕೆಂದರೆ ಕೇವಲ, ಟಿ , ಈ ಸಮಯದಲ್ಲಿ ಸಂಭವಿಸಿತು ನಾನು ಸ್ವಲ್ಪ ಆ ಕೊನೆಯ ಹಂತದ ಮೇಲಕ್ಕೆ ವೇಳೆ, ನಾನು malloc ಕರೆ ಏನು, ಉಳಿದ ಹೀಗಾಗಿದೆ ನಾನು ಮೂಲಭೂತವಾಗಿ ಮೆಮೊರಿಯ ಒಂದು ಪಾಲನ್ನು ಪಡೆಯಲು ಮೂಲ ಅದೇ ಗಾತ್ರದ, ಲೆಕ್ಕದ ಏಕೆಂದರೆ ನಾನು. ನಾನು ವಿಳಾಸಕ್ಕೆ ಟಿ ಸಂಗ್ರಹಿಸಲು ನಾನು ಮೆಮೊರಿ ಆ ಚಂಕ್ ಆಫ್. ಈ ಸಂತೋಷವನ್ನು ಕಾಣುತ್ತದೆ ಆದರೂ ಮತ್ತು, ಬಹಳ ಸಂತೋಷವನ್ನು ಮತ್ತು ಖಾಲಿ, ರಿಯಾಲಿಟಿ ನಾವು ಮಾಡುತ್ತೇವೆ, ಇಲ್ಲ ಇದೆ ಇಲ್ಲಿ, ಕರೆ ಕಸ ಮೌಲ್ಯಗಳು ಇರಿಸಿಕೊಳ್ಳಲು. ಮೆಮೊರಿ ಆ ಚಂಕ್ ಮಾಡಬಹುದು ತುಂಬಾ ಚೆನ್ನಾಗಿ ಮೊದಲು ಬಳಸಲಾಗುತ್ತದೆ, ಕೆಲವು ಸೆಕೆಂಡುಗಳ, ಕೆಲವು ನಿಮಿಷಗಳ ಹಿಂದೆ. ಆದ್ದರಿಂದ ಸಂಪೂರ್ಣವಾಗಿ ಸಂಖ್ಯೆಗಳನ್ನು ಇದ್ದುದನ್ನು ಕೇವಲ ಆಕಸ್ಮಿಕವಾಗಿ ಅಲ್ಲಿ ಅಥವಾ ಅಕ್ಷರಗಳನ್ನು,. ಆದರೆ ನಾನು ರವರೆಗೆ, ಮಾನ್ಯ ಇಲ್ಲ ನನ್ನ ಮೆಮೊರಿ ಈ ಪಡೆ ಜನಪ್ರಿಯಗೊಳಿಸುವುದಕ್ಕೆ ನಿಜವಾದ ಅಕ್ಷರಗಳನ್ನು ಹೊಂದಿರುವ, ನಾನು ಅಲ್ಲಿ ಲೂಪ್ ಎಂದು ಏನು. ಸರಿ? ಈಗ, ಕ್ಲೈಮಾಕ್ಸ್ ಈ ಮೂರು ಉದಾಹರಣೆಗಳು ಇದರೊಂದಿಗೆ, ಕಳೆದ ಬಾರಿ ಮಾಡಲಾಯಿತು ಈ ಸ್ವಾಪ್ ಉದಾಹರಣೆಗೆ, ಈ ಕಾರ್ಯ ಅರ್ಥದಲ್ಲಿ ಕೆಲಸ ಇದು ಒಂದು ಮತ್ತು ಬಿ ಬದಲಾಯಿಸಿಕೊಳ್ಳಬಹುದು ಎಂದು. ಆದರೆ ಅದರ ಇತರ ಅರ್ಥದಲ್ಲಿ ಕೆಲಸ ಮಾಡಲಿಲ್ಲ? ಹೌದು? ಪ್ರೇಕ್ಷಕರು: [ಕೇಳಿಸುವುದಿಲ್ಲ]. ಡೇವಿಡ್ ಜೆ MALAN: ನಿಖರವಾಗಿ. ನಾನು ಈ ಕಾರ್ಯವನ್ನು ಕರೆಯಲು ಬಂದಾಗ ಉದಾಹರಣೆಗೆ another-- ರಿಂದ, , ಅಲ್ಲಿ ಮುಖ್ಯ ಒಂದು ಕ್ರಿಯೆ ರಿಂದ ನಾನು, ಒಂದು ವೇರಿಯೇಬಲ್, X ಮತ್ತು Y ಹೊಂದಿವೆ ಕಳೆದ ವಾರ ಮಾಡಿದ, ಅದೇ ಕೋಡ್, ಮತ್ತು ನಾನು x ಮತ್ತು y ಹಾದು ಸ್ವಾಪ್, ತದನಂತರ Swap-- ಈ ಕರೆ, ಸಹಜವಾಗಿ, ಸರಿಯಾದ ಆವೃತ್ತಿ ನಾವು ನೀವು ಏನು see-- ಅದು ಕೈಗೂಡಲಿಲ್ಲ. ಆದ್ದರಿಂದ ಫಿಕ್ಸ್ ಏನು? ಅಲ್ಲದೆ, ಕೇವಲ ಎಂದು ಸ್ಪಷ್ಟ, ನನಗೆ ಮುಂದುವರಿಯಲು ಅವಕಾಶ ; ಆದರೆ ಈ ಪ್ರಯತ್ನಿಸೋಣ ಎರಡನೇ ಇಲ್ಲಿ ನನಗೆ ಒಂದು ನೀಡಿ, ಮತ್ತು ನೋಡಿ ನಾನು ಕಳೆದ ಒಂದು, ತೋರಿಸಬಹುದು ವೇಳೆ ಇದು ನಾನು ಕಾಣಬಹುದು ಎಂದು ನೋಡೋಣ in-- ಇರುತ್ತದೆ ಈ ನಿಜವಾದ fast-- ಸರಿ, [ಕೇಳಿಸುವುದಿಲ್ಲ]. ಸರಿ, ಅಲ್ಲಿ ಅದು. ಆದ್ದರಿಂದ ನಾನು ಟೈಪ್ ನನಗೆ ಆಜ್ಞೆಗಳನ್ನು ನಿರ್ಲಕ್ಷಿಸಿ. ನಾನು ನಲ್ಲಿ ಪಡೆಯಲು ಬಯಸುವ ಕೊನೆಯ ನಿಮಿಷದಲ್ಲಿ ಒಂದು ಉದಾಹರಣೆ ಕಳೆದ ಬಾರಿ, ರಿಂದ ಇದು ಈಗ ಯಾವುದೇ ಸ್ವಾಪ್ ಕರೆಯಲಾಗುತ್ತದೆ. ಆದ್ದರಿಂದ ಯಾವುದೇ ಸ್ವಾಪ್ ಅಲ್ಲಿ ಆಗಿದೆ ನಾವು, ಕಳೆದ ಸಮಯ ಬಿಟ್ಟು ಆ ಮೂಲಕ, ನಾನು ಆರಂಭಿಸಲಾಗಿಲ್ಲ 1 x ಮತ್ತು 2 ವೈ. ನಾನು ನಂತರ 1 ಮತ್ತು 2 ರಲ್ಲಿ ಹಾದುಹೋಗುವ, ಸ್ವಾಪ್ ಕರೆ. ತದನಂತರ ಈ ಕಾರ್ಯ ಕೆಲವು ಅರ್ಥದಲ್ಲಿ ಕೆಲಸ, ಆದರೆ ಯಾವುದೇ ಶಾಶ್ವತ ಹೊಂದಿತ್ತು x ಮತ್ತು y ಪರಿಣಾಮ. ಆದ್ದರಿಂದ ಪ್ರಸ್ತುತದಲ್ಲಿರುವ ಪ್ರಶ್ನೆಯನ್ನು ಹೇಗೆ ಈಗ ಆಗಿದೆ ನಾವು ವಾಸ್ತವವಾಗಿ ಈ ಸಮಸ್ಯೆಯನ್ನು ಆದ್ದರಿಂದ? ಕೈಯಲ್ಲಿ ಪರಿಹಾರ ಏನು? ಅಲ್ಲದೆ, ಇಂದು ಹೊಸ ಇದು swap.c, ರಲ್ಲಿ, ವ್ಯತ್ಯಾಸಗಳು ಒಂದೆರಡು ಗಮನಿಸಿ. x ಮತ್ತು y ಒಂದೇ. ಆದರೆ ಸ್ಪಷ್ಟವಾಗಿ ಸಾಲು 25 ಬಗ್ಗೆ ವಿವಿಧ? ನೀವು ನೆನಪಿಡುವ ವೇಳೆ, ಯಾವ ಹೊಸತನ್ನು ಇದು ಎರಡನೇ ಹಿಂದೆ ರೀತಿ? ಪ್ರೇಕ್ಷಕರು: [ಕೇಳಿಸುವುದಿಲ್ಲ]. ಡೇವಿಡ್ ಜೆ MALAN: ಹೌದು. ಆದ್ದರಿಂದ ampersands ಹೊಸ ತುಂಡು ವಾಕ್ಯ ಮಾತ್ರ ಈ ಕಾರ್ಯಕ್ರಮದಲ್ಲಿ, ಆದರೆ ಹೆಚ್ಚು ಸಾಮಾನ್ಯವಾಗಿ CS50 ರಲ್ಲಿ. ಇಲ್ಲಿಯವರೆಗೆ, ನಾನು ಯೋಚಿಸುವುದಿಲ್ಲ ನಾವು ಯಾವುದೇ ಉದಾಹರಣೆಗಳು ನೋಡಿದ ಅಥವಾ ನಿಜವಾಗಿಯೂ ಯಾವುದೇ ಅವುಗಳನ್ನು ಕುರಿತು ಬಹುಶಃ, ಪೂರ್ವಭಾವಿಯಾಗಿಯೇ, ಬೇರೆ ವಿವರ, ವಿಭಾಗದಲ್ಲಿ, ಈ ರೀತಿಯ ಒಂದು ವನ್ನಾಗಲಿ. ಅಲ್ಲದೆ, ಇದು ವನ್ನಾಗಲಿ ಒಂದಾಗಿದೆ ತಿರುಗಿದರೆ ಹೊಸ ವಾಕ್ಯ ಕಳೆದ ಕಾಯಿಗಳ ನಾವು ತಿಳಿಯಲು ನೀನು. ಇದು ಅರ್ಥ ಎಲ್ಲಾ ಆಗಿದೆ ಕೆಲವು ವೇರಿಯಬಲ್ ವಿಳಾಸ. ಏನು ವಿಳಾಸದಲ್ಲಿ ಎಕ್ಸ್ ವಾಸಿಸುವ ಇಲ್ಲ? ಆದರೆ ವೈ ಯಾವ ವಿಳಾಸಕ್ಕೆ ವಾಸಿಸುವ ಇಲ್ಲ? ಏಕೆಂದರೆ ಮೊದಲು ಮೂಲಭೂತ ಸಮಸ್ಯೆ ಆ X ಮತ್ತು Y ಅಂಗೀಕಾರವಾದ ವಿಧಿಸಲಾಗಿತ್ತು ನಾವು ನಿಜವಾಗಿಯೂ ಮಾಡಲು ಯಾವ ಪ್ರತಿಗಳು, ಮಾಹಿತಿ ನಿಧಿ ರೀತಿಯಲ್ಲಿ ಸ್ವಾಪ್ ಒದಗಿಸಲು ಇದೆ ಅಲ್ಲಿ x ಮತ್ತು ವಾಸ್ತವವಾಗಿ ವೈ ಕಾರಣವಾಗುತ್ತದೆ ನಕ್ಷೆ ಆದ್ದರಿಂದ, ರಾಮ್ ಇವೆ ಸ್ವಾಪ್ ಎಂದು ನಕ್ಷೆ ಅನುಸರಿಸಬಹುದು X ಅಥವಾ ವೈ ಗುರುತಿಸುತ್ತದೆ ಎಲ್ಲೆಲ್ಲಿ ಮತ್ತು ಹೋಗಿ ಮತ್ತು ನೈಜ ಮೌಲ್ಯಗಳಿಗೆ ಬದಲಾಯಿಸಲು 1 ಮತ್ತು 2 ಇಲ್ಲ. ಆದ್ದರಿಂದ ಸ್ವಾಪ್ ತುಂಬಾ ಸ್ವಲ್ಪ ಬದಲಾವಣೆ ಅಗತ್ಯವಿದೆ. ಮತ್ತು ಮೊದಲ ನೋಟದಲ್ಲಿ, ಈ ಮೈಟ್ ಚಾರ್ ಸ್ಟಾರ್ ಸ್ವಲ್ಪ ಹೋಲುವ ತೋರುತ್ತದೆ. ಮತ್ತು ವಾಸ್ತವವಾಗಿ ಇದು. ಆದ್ದರಿಂದ ಒಂದು ದಶಮಾಂಶ ಬಗೆ ಒಂದು ಪಾಯಿಂಟರ್, ಈ ಹೈಲೈಟ್ ಭಾಗವನ್ನು ಆಧರಿಸಿ? ಆದ್ದರಿಂದ ಒಂದು ಇಂಟ್ ನ. ಆದ್ದರಿಂದ ಒಂದು ಎಂದಿಗೂ ಒಂದು ಇಂಟ್, ಇದು ಒಂದು ಇಂಟ್ ವಿಳಾಸವನ್ನು ಇಲ್ಲಿದೆ. ಮತ್ತು ಹಾಗೆಯೇ, ಬೌ ಈಗ ಹೋಗುತ್ತದೆ ಒಂದು ಇಂಟ್ ವಿಳಾಸವನ್ನು ಎಂದು. ಹಾಗಾಗಿ ಈಗ ಮುಖ್ಯ ರಿಂದ ಸ್ವಾಪ್ ಕರೆ ಮಾಡಿದಾಗ, ನಾನು ಸ್ವಾಪ್ 1 ಮತ್ತು 2 ನೀಡಲು ನಾನೇನು. ನಾನು ಹಾಗೆ ಇದು ನೀಡಲು ಪಡೆಯಲಿದ್ದೇನೆ ಎತ್ತು ಏನೋ ಮತ್ತು ಎತ್ತು ಏನೋ, ದಾರಿ ಎಂದು ಎರಡು ವಿಳಾಸಗಳು ತಮ್ಮ ವಾಸ್ತವಿಕ ವಿನಿಮಯ ನನ್ನ ಕಂಪ್ಯೂಟರ್ನ. ಈಗ, ನನ್ನ ಉಳಿದ ಅನುಷ್ಠಾನ ತದ್ ಬದಲಾಯಿಸಲು ಅಗತ್ಯವಿದೆ. ಈಗ ನಿಸ್ಸಂಶಯವಾಗಿ ವಿಭಿನ್ನ ಕೋಡ್ ಈ ಮೂರು ಸಾಲುಗಳಲ್ಲಿ? ಈ ಡ್ಯಾಮ್ ನಕ್ಷತ್ರಗಳು ಇಲ್ಲ ಸ್ಥಳದ ಮೇಲೆ, ಸರಿ? ಹಾಗಾಗಿ ಇಲ್ಲಿ ಏನು ನಡೆಯುತ್ತಿದೆ? ಹೌದು? ಪ್ರೇಕ್ಷಕರು: [ಕೇಳಿಸುವುದಿಲ್ಲ] ಸ್ಪಷ್ಟವಾಗಿ. ಡೇವಿಡ್ ಜೆ MALAN: ನಿಖರವಾಗಿ. ಈ ಸಂದರ್ಭ ಆದ್ದರಿಂದ ಈ ಅಲ್ಲ ಉತ್ತಮ ವಿನ್ಯಾಸ ನಿರ್ಧಾರ ಒಪ್ಪಿಕೊಳ್ಳಬಹುದಾಗಿದೆ ವರ್ಷಗಳ ಹಿಂದೆ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಅಲ್ಲಿ ರಲ್ಲಿ ನೀವು ಒಂದು ನಕ್ಷತ್ರ, ಮತ್ತು ನೀವು ಒಂದು ಮಾಹಿತಿ ಪ್ರಕಾರ ಇಲ್ಲ, ಇಂಟ್, ತಕ್ಷಣ ಎಡಕ್ಕೆ, ಬದಲಿಗೆ ನೀವು ಸ್ಪಷ್ಟವಾಗಿ, ಒಂದು ಸಮ ಚಿಹ್ನೆ ಹೊಂದಿವೆ, ಈ ಸಂದರ್ಭದಲ್ಲಿ, ನೀವು ಹೇಳುವುದಾದರೆ ನಕ್ಷತ್ರ, ಎಂದು ಹೋಗಿ ಅರ್ಥ ಒಂದು ಪತ್ರಗಳಿಗೂ ವಿಳಾಸ. ಆದ್ದರಿಂದ ಮಾತನಾಡಲು, ನಿಧಿ ನಕ್ಷೆ ಅನುಸರಿಸಿ. ಮತ್ತು ಏತನ್ಮಧ್ಯೆ, ಸಾಲು 37 ರಲ್ಲಿ, ಇದು ಒಂದೇ ಅರ್ಥ. ವಿಳಾಸವು ಹೋಗಿ, ಮತ್ತು ಪುಟ್? ಇರಲಿ ನಲ್ಲಿ ಬಿ ಸೂಚಿಸುವ ಸ್ಥಳ. ಬೇರೆ ರೀತಿಯಲ್ಲಿ ಹೇಳುವುದಾದರೆ, ಬೌ ಹೋಗಿ. ಮೌಲ್ಯವನ್ನು ಪಡೆಯಿರಿ. ಸಮಾನ ಪ್ರತಿ, ಒಂದು ಹೋಗಿ ಸೈನ್, ಹುದ್ದೆ ಆಯೋಜಕರು, ಅಲ್ಲಿ ಆ ಮೌಲ್ಯವನ್ನು ಪುಟ್. ಹಾಗೆಯೇ, ಇಂಟ್ ಟೆಂಪ್ ಕೇವಲ ಒಂದು ಇಂಟ್. ನಥಿಂಗ್ ಟೆಂಪ್ ಬಗ್ಗೆ ಬದಲಾಯಿಸಲು ಅಗತ್ಯವಿದೆ. ಇದು Annenberg ನಲ್ಲಿ ಕೇವಲ ಒಂದು ಬಿಡಿ ಗಾಜಿನ ಇಲ್ಲಿದೆ ಕೆಲವು ಹಾಲು ಅಥವಾ ಕಿತ್ತಳೆ ರಸ ಫಾರ್. ಆದರೆ ನಾನು ಹೇಳಲು ಬೌ ಹೋಗಲು ಬೇಕು. ಆ ಜಾಗಕ್ಕೆ ಹೋಗಿ ಅಲ್ಲಿ ಟೆಂಪ್ ಮೌಲ್ಯವನ್ನು ಪುಟ್. ಆದ್ದರಿಂದ ಏನು ನಡೆಯುತ್ತಿದೆ? ನಾನು ವಾಸ್ತವವಾಗಿ, ಈ ಬಾರಿ ಸ್ವಾಪ್ ಕರೆ ಮಾಡಿದಾಗ ಈ ಮೊದಲ ಟ್ರೇ ಇಲ್ಲಿ ಮುಖ್ಯ ಪ್ರತಿನಿಧಿಸುತ್ತದೆ ಈ ಎರಡನೇ ತಟ್ಟೆ ಸ್ವಾಪ್ ಪ್ರತಿನಿಧಿಸುತ್ತದೆ, ಯಾವಾಗ ನಾನು ವನ್ನಾಗಲಿ X ಮತ್ತು ವನ್ನಾಗಲಿ ವೈ ಪಾಸ್ ಮುಖ್ಯ ವಿನಿಮಯ ರಿಂದ, ಕೇವಲ, ಸ್ಪಷ್ಟ ಎಂದು ಈ ಸ್ಟಾಕ್ ಫ್ರೇಮ್ ಸ್ವೀಕರಿಸುವ ಏನು? ಹೌದು? ಪ್ರೇಕ್ಷಕರು: [ಕೇಳಿಸುವುದಿಲ್ಲ]. ಡೇವಿಡ್ ಜೆ MALAN: ನಿಖರವಾಗಿ. x ಮತ್ತು y ನ ವಿಳಾಸಕ್ಕೆ. ಮತ್ತು ನೀವು ಈ ನಗರದ ಅಂಚೆ ವಿಳಾಸಗಳನ್ನು ಇಷ್ಟ. 33 ಆಕ್ಸ್ಫರ್ಡ್ ಸ್ಟ್ರೀಟ್ ಮತ್ತು 35 ಆಕ್ಸ್ಫರ್ಡ್ ಸ್ಟ್ರೀಟ್, ಮತ್ತು ನೀವು ಎರಡು ಕಟ್ಟಡಗಳ ಸರಿಸಲು ಬಯಸುವ ಆ ಸ್ಥಳಗಳಲ್ಲಿ ಎಂದು. ಇದು ಒಂದು ಹಾಸ್ಯಾಸ್ಪದ ಕಲ್ಪನೆ ರೀತಿಯ ಇಲ್ಲಿದೆ, ಆದರೆ ನಾವು ವಿಳಾಸ ಎಂದರೆ ಅಷ್ಟೆ. ಜಗತ್ತಿನಲ್ಲಿ ಮಾಡಬಹುದು ಆ ಎರಡು, ints ಹೇಗೆ? ಜಗತ್ತಿನಲ್ಲಿ ನೀವು ಮಾಡಬಹುದು ಆ ಎರಡು ಕಟ್ಟಡಗಳ ಹೇಗೆ? ಆದ್ದರಿಂದ ಅಂತಿಮವಾಗಿ ವೇಳೆ, ಈ ಬಾರಿ ನಾನು ನಂತರ ಇಂದಿನ ಮೂಲ ಕೋಡ್ ಹೋಗಿ ಕಂಪೈಲ್ ಸ್ವಾಪ್ ಮತ್ತು ರನ್ ./swap, ಅಂತಿಮವಾಗಿ, ಫಾರ್ ಮೊದಲ ಬಾರಿಗೆ ನಾವು ವಾಸ್ತವವಾಗಿ ಎಂದು ನೋಡುತ್ತಾರೆ ನನ್ನ ಮೌಲ್ಯಗಳನ್ನು ವಾಸ್ತವವಾಗಿ ಹೊಂದಿವೆ ಯಶಸ್ವಿಯಾಗಿ ಬದಲಾಗಿ ಮಾಡಲಾಗಿದೆ. ಈಗ, ನಾವು ಸಹ ತೆಗೆದುಕೊಳ್ಳಬಹುದು ಈ ರಲ್ಲಿ, ಹೇಳುತ್ತಾರೆ, GDB ಗಮನಿಸಿ. ಆದ್ದರಿಂದ ನನಗೆ ಅದೇ ಫೈಲ್ ಹೋಗಲು ಅವಕಾಶ. ನನ್ನ ಮುಂದೆ ಹೋಗಿ ./swap ಆಫ್ GDB ರನ್ ಅವಕಾಶ. ಈಗ, ವಿನಿಮಯದಲ್ಲಿ, ನಾನು ಹೋಗಲು ಪಡೆಯಲಿದ್ದೇನೆ ಮುಂದೆ ಮತ್ತು ಮುಖ್ಯ ಒಂದು ಬ್ರೇಕ್ ಪಾಯಿಂಟ್ ಸೆಟ್. ಮತ್ತು ಈಗ ನಾನು ಪಡೆಯಲಿದ್ದೇನೆ ಮುಂದೆ ಮತ್ತು ಪ್ರೋಗ್ರಾಂ. ಮತ್ತು ಈಗ ನಾವು ನನ್ನ ಕೋಡ್ ನೋಡಿ ಸಾಲನ್ನು ನಿಲ್ಲಿಸಲಾಗಿದೆ. ನಾನು ಮುಂದೆ ಮತ್ತು ಮುದ್ರಣ ಹೋದರೆ X, ನಾನು ಇಲ್ಲಿ ನೋಡಿ ಮಾಡಬೇಕು? ಇದು ಒಂದು ಪ್ರಶ್ನೆ. ಮತ್ತೆ ಹೇಳುತ್ತಾರೆ? ಪ್ರೇಕ್ಷಕರು: [ಕೇಳಿಸುವುದಿಲ್ಲ]. ಡೇವಿಡ್ ಜೆ MALAN: ಆದ್ದರಿಂದ ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಗಳು ಬಹುಶಃ. ಬಹುಶಃ ನಾನು ಅದೃಷ್ಟ ಪಡೆಯಲು, ಮತ್ತು ಇದು ಇಲ್ಲಿದೆ 0, ಉತ್ತಮ ಮತ್ತು ಸರಳ. ಆದರೆ ಬಹುಶಃ ಇದು ಕೆಲವು ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಯ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ನಾನು ಅದೃಷ್ಟ ದೊರೆತಿದೆ. ಅದು 0 ಎಂದು ಸಂಭವಿಸುತ್ತದೆ. ಆದರೆ, ವಾಸ್ತವವಾಗಿ ಅದೃಷ್ಟ ಆಗಿದೆ ರವರೆಗೆ ಏಕೆಂದರೆ ನಾನು ಮುಂದಿನ ನಮೂದಿಸಿ ಮತ್ತು ನಂತರ ಮುದ್ರಣ X ಎಂದು ಹೊಂದಿದೆ ಕೋಡ್ ಆಫ್ ಲೈನ್, ಸಾಲು 19, ಕಾರ್ಯರೂಪಕ್ಕೆ. ಏತನ್ಮಧ್ಯೆ, ನಾನು ಟೈಪ್ ಮುಂದಿನ ಮತ್ತೆ, ಮತ್ತು ಈಗ ನಾನು 2 ನೋಡಲು ಪಡೆಯಲಿದ್ದೇನೆ, ವೈ ಮುದ್ರಿಸುತ್ತದೆ. ನಾನು ಮುಂದಿನ ಟೈಪ್ ವೇಳೆ ಈಗ, ಇದು ವಿಶೇಷವೇನು ಸ್ವಲ್ಪ ಗೊಂದಲಮಯ ಪಡೆಯುವುದು, ಈಗ ಏಕೆಂದರೆ, printf ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತವೆ ಹೋಗುತ್ತದೆ ತೆರೆಯ ಮಾಡಿದರು, ಎಂದು. x 1. ನ ಮತ್ತೆ ಈ ಅವಕಾಶ. ಈಗ, ಇಲ್ಲಿ ಅಲ್ಲಿ ಇಲ್ಲಿದೆ ವಿಷಯಗಳನ್ನು ಆಸಕ್ತಿದಾಯಕ ಪಡೆಯಲು. ನಾನು ಸ್ವಾಪ್ ಅಥವಾ ಹಂತದ ಕರೆ ಮೊದಲು ಇದನ್ನು, ನ ಸ್ವಲ್ಪ ಪೀಕ್ ನೋಡೋಣ. X, ಮತ್ತೆ, 1. ವೈ, ಸಹಜವಾಗಿ, ತ್ವರಿತ ವಿವೇಕ ಆಗಿದೆ ಆದ್ದರಿಂದ ಕಷ್ಟಪಟ್ಟು, 2 ಪರಿಶೀಲಿಸಿ. ಆದರೆ ವನ್ನಾಗಲಿ X ಏನು? ಉತ್ತರ, ಇದು ಮೋಜಿನ ರೀತಿಯ ಹುಡುಕುತ್ತಿದ್ದಳು. ಆದರೆ ಆವರಣ ಇಂಟ್ ಸ್ಟಾರ್ ಕೇವಲ ಆಗಿದೆ ಈ ಹೇಳುವ ಜಿಡಿಪಿ ರೀತಿಯಾಗಿದೆ ಒಂದು ವಿಳಾಸ. ಇದು, ಇದು ಒಂದು ಪಾಯಿಂಟರ್ ಒಂದು int ಅಲ್ಲ ಇಂಟ್, ಅಥವಾ ಒಂದು ವಿಳಾಸಕ್ಕೆ ಕರೆಯಲಾಗುತ್ತದೆ. ಈ ಕ್ರೇಜಿ ವಿಷಯ ಏನು? ನಾವು ಏನೋ ನೋಡಿಲ್ಲದಿದ್ದರೆ ಬಂದಿದೆ ಸಾಕಷ್ಟು ಮೊದಲು ಹಾಗೆ. ಆದ್ದರಿಂದ ಈ ನನ್ನ ಕಂಪ್ಯೂಟರ್ನ ರಲ್ಲಿ ವಿಳಾಸ ಎಕ್ಸ್ ವಾಸಿಸಲು ಸಂಭವಿಸುತ್ತದೆ ಅಲ್ಲಿ ನೆನಪಿಗಾಗಿ. ಇದು ವಿಶಾಲವಾದ ವಿಷಯ. ಈ ನಾನೂ ಏಕೆ, ಆಗಿದೆ ನಾನು ಬಾಣಗಳು ರೇಖಾಚಿತ್ರ ಪ್ರಾರಂಭಿಸಿದಾಗ, ಬದಲಿಗೆ ಸಂಖ್ಯೆಗಳ, ಯಾರು ನಿಜವಾಗಿಯೂ ಕೇಳ್ತಾರೆ ಕಾರಣ ನಿಮ್ಮ ಇಂಟ್ ಒಂದು ನಿರ್ದಿಷ್ಟ ನಲ್ಲಿ ಎಂದು ದೊಡ್ಡ ಎಂದು ಎಂದು ವಿಳಾಸ. ಆದರೆ bffff0c4, ಈ ಎಲ್ಲಾ ವಾಸ್ತವವಾಗಿ ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ಅಂಕೆಗಳು, ಎಫ್ ಮೂಲಕ 0 ಇವು. ನಾವು ಕೂಡ ವಾಸಿಸುತ್ತವೆ ಹೋಗುತ್ತಿಲ್ಲ ಆ ವಸ್ತುಗಳು ಬಹಳ. ಆದರೆ ನಾನು ವೈ ಮುದ್ರಿಸುತ್ತದೆ ವೇಳೆ, ಸಹಜವಾಗಿ, ನಾನು 2 ನೋಡಿ. ಆದರೆ ವನ್ನಾಗಲಿ ವೈ, ನಾನು ಈ ವಿಳಾಸಕ್ಕೆ ನೋಡಿ. ಮತ್ತು ಸೂಚನೆ, ಕುತೂಹಲಕಾರಿ, ಹೊರತುಪಡಿಸಿ x ಮತ್ತು y ಹೇಗೆ ದೂರದ? ನೀವು ವಿಳಾಸಕ್ಕೆ ಅತ್ಯಂತ ನಿರ್ಲಕ್ಷಿಸಬಹುದು. ನಾಲ್ಕು ಬೈಟ್ಗಳು. ಮತ್ತು ಸ್ಥಿರವಾದ ಇಲ್ಲಿದೆ ನಮ್ಮ ಹಿಂದಿನ ಒಂದು ಇಂಟ್ ಹೇಗೆ ದೊಡ್ಡ ಪ್ರತಿಪಾದಿಸುವುದಿಲ್ಲ? ನಾಲ್ಕು ಬೈಟ್ಗಳು. ಆದ್ದರಿಂದ ಎಲ್ಲವೂ ಪಟ್ಟಿಯನ್ನಾಗಿ ತೋರುತ್ತಿದೆ ಚೆನ್ನಾಗಿ, ನೀವು ನೆನಪಿನಲ್ಲಿ, ಭಾವಿಸುತ್ತೇನೆ ಇರಬಹುದು. ಈಗ, ಕೇವಲ ವೇಗವಾಗಿ ಮುಂದಕ್ಕೆ ಹೊರಡೋಣ ಈ ಕಥೆಯ ಕೊನೆಯಲ್ಲಿ. , ಅವರ ಮುಂದೆ ಹೋಗಿ ಹಂತ ಟೈಪ್ ಲೆಟ್ ಸ್ವಾಪ್ ಕಾರ್ಯಚಟುವಟಿಕೆಗಳ ಧುಮುಕುವುದಿಲ್ಲ ಗೆ. ಈಗ ನಾನು ಟೈಪ್, ಇದು ಇಲ್ಲಿದೆ, ಗಮನಕ್ಕೆ X ವಿಳಾಸ ಒಂದೇ. ನಾನು ಬೌ ಟೈಪ್ ವೇಳೆ, ಅದು ಒಂದೇ, Y ವಿಳಾಸವನ್ನು ಗೆ. ಹಾಗಾಗಿ ನಾನು ಏನು ನೋಡಿ , ಒಂದು ವಿಳಾಸಕ್ಕೆ ಹೋಗಿ ಹೇಳಿ? ಆದ್ದರಿಂದ ಒಂದು ನಕ್ಷತ್ರದ ಮುದ್ರಿಸು. ಆದ್ದರಿಂದ ಸ್ಟಾರ್ ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಅಲ್ಲಿ ಹೋಗಿ. ವನ್ನಾಗಲಿ ವಿಳಾಸವನ್ನು ಎಂಬುದನ್ನು ಅರ್ಥ. ಆದ್ದರಿಂದ ಸಾಧನವಾಗಿ 1 ಸ್ಟಾರ್. ಮತ್ತು ಮುದ್ರಣ ಸ್ಟಾರ್ ಬೌ ನನಗೆ 2 ನೀಡುತ್ತದೆ. ಮತ್ತು ನನಗೆ ಕ್ಷಣ, ಪಡೆದುಕೊಳ್ಳಬಹುದು, ಕನಿಷ್ಠ ಕೋಡ್ ಆ ಮಾಡಬಹುದು ಈಗ ಕಾರ್ಯರೂಪಕ್ಕೆ ಮುಂದುವರೆದು ಆ ರೀತಿಯಲ್ಲಿ ಮೂಲಕ ಸಮರ್ಥನೆಯ. ಆದರೆ ನಾವು ಬಹಳ ಹಿಂದೆ ಈ ಕಲ್ಪನೆಯನ್ನು ಪುನಃ ವಿಲ್. ಸ್ವಾಪ್ ಆದ್ದರಿಂದ ಈ ಆವೃತ್ತಿ ಈಗ ಸರಿಯಾಗಿದೆ ಮತ್ತು ಅನುಮತಿಸುತ್ತದೆ ನಮಗೆ ಈ ನಿರ್ದಿಷ್ಟ ಮಾಹಿತಿ ಪ್ರಕಾರ ವಿನಿಮಯ. ಆದ್ದರಿಂದ ಯಾವುದೇ ಪ್ರಶ್ನೆಗಳನ್ನು ನಂತರ ಸ್ವಾಪ್? ಸ್ಟಾರ್ ಮೇಲೆ? ವಿಳಾಸವನ್ನು ರಂದು? ಮತ್ತು ನೀವು, ನೋಡುತ್ತಾರೆ ಸಮಸ್ಯೆ, ರೀತಿಯ, 4 ಸೆಟ್ ಆದರೆ ಸಮಸ್ಯೆ 5, ಖಂಡಿತವಾಗಿಯೂ, ಹೇಗೆ ಈ ಸೆಟ್ ವಿಷಯಗಳನ್ನು ಉಪಯುಕ್ತ ಮತ್ತು ಪಡೆಯಲು ಹೆಚ್ಚು ಪರಿಣಾಮವಾಗಿ, ಅವರಿಗೆ ತೃಪ್ತಿ. ಎಲ್ಲಾ ನಲ್ಲಿ ಏನು? ಸರಿ. ಆದ್ದರಿಂದ malloc, ಈ ಕಾರ್ಯ ಮತ್ತೆ, ಕೇವಲ ಮೆಮೊರಿ, ಮೆಮೊರಿ ಗೊತ್ತುಪಡಿಸುತ್ತದೆ ಹಂಚಿಕೆ. ಯಾಕೆ ಈ ಉಪಯುಕ್ತವಾಗಿದೆ? ಅಲ್ಲದೆ, ಈ ಬಾರಿ, ನೀವು malloc ಅನ್ನು ಬಳಸುತ್ತಿದ್ದೇನೆ. ನೀವು ಈಗ ಹೇಗೆ ಪರಿಗಣಿಸಿದರೆ ಕೃತಿಗಳು GetString, ಸಂಭಾವ್ಯವಾಗಿ, ಅಷ್ಟೇ ಒಂದು ಪಾಲನ್ನು ಯಾರಾದರೂ ಕೇಳುವ ಮಾಡಲಾಗಿದೆ ಮೆಮೊರಿ, ಯಾವುದೇ ಬಳಕೆದಾರ ರೀತಿಯ ಒಂದು ಸ್ಟ್ರಿಂಗ್ ರಲ್ಲಿ, ಖಂಡಿತವಾಗಿಯೂ ನಾವು ಏಕೆಂದರೆ ಗೊತ್ತಿರಲಿಲ್ಲ, CS50 ಸಿಬ್ಬಂದಿ ಮಾಹಿತಿ, ಎಷ್ಟು ದೊಡ್ಡ ಆ ತಂತಿಗಳು ಮನುಷ್ಯರೊಳಗಿನ ಇರಬಹುದು ಟೈಪ್ ಹೋಗುವ. ಆದ್ದರಿಂದ, ಮೊದಲ ಬಾರಿಗೆ, ಆರಂಭಿಸೋಣ ಸಿಪ್ಪೆ ಮತ್ತೆ ಹೇಗೆ CS50 ಗ್ರಂಥಾಲಯದ ಕೃತಿಗಳು ಉದಾಹರಣೆಗಳು ಒಂದೆರಡು ಮೂಲಕ ಅಲ್ಲಿ ನಮಗೆ ಕಾರಣವಾಗುತ್ತದೆ. ನಾನು ಜಿಎಡಿಟ್ Name ತೆರೆಯುತ್ತದೆ ಆದ್ದರಿಂದ ಮತ್ತು, ಮಾಹಿತಿ scanf 0 ತೆರೆಯುತ್ತದೆ ನಾವು ಕೆಳಗಿನ ಕೋಡ್ ನೋಡಲು ನೀನು. ವೆಬ್ಸೈಟ್ನಲ್ಲಿ ಲಭ್ಯವಿದೆ scanf 0, ಇಂದು, ಕೋಡ್ ತುಲನಾತ್ಮಕವಾಗಿ ಕೆಲವು ಸಾಲುಗಳನ್ನು ಹೊಂದಿದೆ ಇಲ್ಲಿ, 20 ಮೂಲಕ 14. ಮತ್ತು ಈಗ ಅದನ್ನು ಮಾಡುವ ಎಂಬುದನ್ನು ನೋಡೋಣ. ಇದು ಒಂದು ಇಂಟ್, X ಎಂಬ ಘೋಷಿಸುತ್ತದೆ. ಏನೋ, ಸಂಖ್ಯೆ ದಯವಿಟ್ಟು ಹೇಳುತ್ತಾರೆ. ಈಗ ಮಾಹಿತಿ scanf% ನಾನು & X ಹೇಳುತ್ತಾರೆ. ಆದ್ದರಿಂದ ಹೊಸ ವಿಷಯವನ್ನು ಒಂದು ಗುಂಪೇ ಇತ್ತು. ಆದರೆ, scanf, ನೀವು ರೀತಿಯ ನಗರದ ಆಫ್ printf ವಿರುದ್ಧ ಮಾಹಿತಿ. printf, ಸಹಜವಾಗಿ, ತೆರೆಗೆ ಮುದ್ರಿತ. ಬಳಕೆದಾರರ ರಿಂದ ಸ್ಕ್ಯಾನ್, scanf ರೀತಿಯ ಕೀಬೋರ್ಡ್ ಏನೋ ಅವನು ಅಥವಾ ಅವಳು ಟೈಪಿಸಿದ. % ನಾನು printf ರೀತಿಯ. ಈ ನಿರೀಕ್ಷಿಸಬಹುದು ಅರ್ಥ ಬಳಕೆದಾರ ಒಂದು ಇಂಟ್ ಟೈಪ್. ಈಗ, ಏಕೆ ನೀವು ನಾನು ತಿಳಿದಿರುವಿರಿ ಮಾಹಿತಿ scanf & X ಸಾಗುವ ಇರಬಹುದು? ವೇಳೆ, scanf ಜೀವನದಲ್ಲಿ ಉದ್ದೇಶ ಬಳಕೆದಾರ ಏನನ್ನೋ ಪಡೆಯುವುದು, ಅರ್ಥವನ್ನು ಏನು, ಈಗ, ಇದು ಹಾದುಹೋಗುವ, & X? ಹೌದು? ಪ್ರೇಕ್ಷಕರು: [ಕೇಳಿಸುವುದಿಲ್ಲ]. ಡೇವಿಡ್ ಜೆ MALAN: ನಿಖರವಾಗಿ. ಇರಲಿ ನಾನು, ಮಾನವ, ನನ್ನ ಇನ್ಪುಟ್ ಟೈಪ್ ಆ ಸ್ಥಳ ಉಳಿಸಿದ ಏರಲಿದೆ. ಅದು ಹೇಗೆ, ಮರುಪಡೆಯಲು, ಸಾಕಷ್ಟು ಅಲ್ಲ ನಾವು ಈಗಾಗಲೇ ನೋಡಿದ ಕಾರಣ, x ಹಾದುಹೋದಾಗ, ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ನೀವು ಕೇವಲ ಒಂದು ಕಚ್ಚಾ ವೇರಿಯಬಲ್ ಹಾದು ಒಂದು int, ಕೆಲವು ಇತರ ಕಾರ್ಯ, ಖಚಿತವಾಗಿ, ಆ ಬದಲಾಯಿಸಬಹುದು ವೇರಿಯಬಲ್, ಆದರೆ ಶಾಶ್ವತವಾಗಿ. ಇದು ಮುಖ್ಯ ಮೇಲೆ ಪರಿಣಾಮ ಸಾಧ್ಯವಿಲ್ಲ. ಇದು ತನ್ನದೇ ಆದ ಸ್ಥಳೀಯ ಪ್ರತಿಯನ್ನು ಬದಲಾಯಿಸಬಹುದು. ಆದರೆ, ಬದಲಿಗೆ, ನೀವು ನನ್ನ ನಿಜವಾದ ಇಂಟ್ ನೀಡಿ, ಆದರೆ ನೀವು ನನಗೆ ನಿರ್ದೇಶನಗಳಿಗೆ ನೀಡಿ ಇಂಟ್, ನಾನು ಈಗ,,, scanf ಎಂಬ ಖಂಡಿತವಾಗಿ, ನಾನು ಅನುಸರಿಸಬಹುದು ಪರಿಹರಿಸಲು ಮತ್ತು ಒಂದು ಸಂಖ್ಯೆಯನ್ನು ನೀಡಿ ಆದ್ದರಿಂದ ನೀವು ಅದನ್ನು ಪ್ರವೇಶವನ್ನು ಹೊಂದಿರುತ್ತದೆ. ನಾನು ಈ ಪ್ರೋಗ್ರಾಂ ಆದ್ದರಿಂದ, ನೋಡೋಣ. ಮಾಹಿತಿ scanf 0 ಡಾಟ್ ಕತ್ತರಿಸಿ ಮಾಡಿ, 0 scanf. ನಾನು ಈಗ ಒಂದು ಸಂಖ್ಯೆ ಟೈಪ್ 50, 50 ಧನ್ಯವಾದಗಳು. ನಾನು ಈಗ ಒಂದು ಸಂಖ್ಯೆಯನ್ನು ನಮೂದಿಸಿ ವೇಳೆ ನಕಾರಾತ್ಮಕ 1, 1 ಋಣಾತ್ಮಕ. ನಾನು ಈಗ HM, 1.5 ಒಂದು ಸಂಖ್ಯೆಯನ್ನು ನಮೂದಿಸಿ. ನನ್ನ ಪ್ರೋಗ್ರಾಂ ನನಗೆ ನಿರ್ಲಕ್ಷಿಸಿ ನೀಡಲಿಲ್ಲ? ಹಾಗೆಯೇ, ಏಕೆಂದರೆ ಕೇವಲ, ನಾನು ಹೇಳಿದರು ಇದು ಒಂದು ಇಂಟ್ ಮಾತ್ರ ನಿರೀಕ್ಷಿಸಬಹುದು. ಸರಿ. ಆದ್ದರಿಂದ ಈ ಒಂದು ಆವೃತ್ತಿ. ನ ಒಂದು ಹಂತ ಮೇಲಕ್ಕೆ ವಿಷಯಗಳನ್ನು ನೋಡೋಣ ಈ ಉತ್ತಮ ಎಂದು ಸಲಹೆ. ಮತ್ತು ಇಲ್ಲಿ ಒಂದು ಸರಳ ಉದಾಹರಣೆ ಅಡಗಿದೆ ನಾವು ಬರೆಯುವ ಕೋಡ್ ಆರಂಭಿಸಬಹುದು ಹೇಗೆ ಇತರ ಜನರು ದುರ್ಬಳಕೆ ಎಂಬ ಅಥವಾ ಕೆಟ್ಟ ಕೆಲಸಗಳನ್ನು ಮಾಡುವ ಮೂಲಕ ರಾಜಿ. ಆದ್ದರಿಂದ ಸಾಲು 16, ಆದ್ದರಿಂದ ಇದೇ ಉತ್ಸಾಹದಲ್ಲಿ ಮೊದಲು ಗೆ, ಆದರೆ ನಾನು ಈ ಬಾರಿ ಇಂಟ್ ಘೋಷಿಸುವ ಇಲ್ಲ. ನಾನು ಸ್ಟ್ರಿಂಗ್ ಅಕಾ, ಇದು ಚಾರ್ ಸ್ಟಾರ್ ಘೋಷಿಸುವ ನುಡಿದರು. ಆದರೆ ನೈಜ ಅರ್ಥವೇನು? ಹಾಗಾಗಿ ಒಂದು ವಿಳಾಸದಲ್ಲಿ ಸೂಚಿಸಲು ಇದ್ದರೆ ಮತ್ತು ನಾನು ನಿರಂಕುಶವಾಗಿ ಎಂದು ನುಡಿದರು, ಬಫರ್ ಆದರೆ ನಾನು simple-- ಎಂದು, ಇದು ಅಂತ ಕರೆಯಬಹುದು ತದನಂತರ ನಾನು ಹೀಗೆ, ನನಗೆ ವಿವರಿಸಲು, ನೀವು ಹಿಂದಿನ ಆಧರಿಸಿ, ಸಾಧ್ಯವಾಗುವುದಾದರೆ ತರ್ಕ, ಮಾಹಿತಿ scanf ಸಾಲು 18 ರಲ್ಲಿ, ಏನು ಇದೆ ಪಾಸ್% ಮತ್ತು ಬಫರ್ ವೇಳೆ, ಒಂದು ವಿಳಾಸವನ್ನು ಇದು? ನೀವು ಅನ್ವಯಿಸುವುದಿಲ್ಲ ವೇಳೆ ಮಾಹಿತಿ scanf, ಏನು ಆವೃತ್ತಿ 0 ನಿಖರ ಅದೇ ತರ್ಕ, ಇಲ್ಲಿ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿ ಹೋಗಿ ಯಾವಾಗ ಬಳಕೆದಾರ ರೀತಿಯ ಏನೋ? ಹೌದು? ಪ್ರೇಕ್ಷಕರು: [ಕೇಳಿಸುವುದಿಲ್ಲ]. ಡೇವಿಡ್ ಜೆ MALAN: ನಿಖರವಾಗಿ. Scanf, ತರ್ಕ ಹಿಂದಿನ ಮೂಲಕ ಸ್ಟ್ರಿಂಗ್ ನಾಯಕನನ್ನು ಮಾನವ ಟೈಪಿಸಿದ , ಈಗ ಸ್ಟ್ರಿಂಗ್ in-- ಇದು, ಬಹುಶಃ, ಒಂದು ಸಂಖ್ಯೆ ಅಲ್ಲ ಅವನು ಅಥವಾ ಅವಳು cooperates-- ವೇಳೆ ಮತ್ತು ಇದು ಹಾಕಲು ಪ್ರಯತ್ನಿಸಿ ವಿಶೇಷವೇನು ಏನೇ ವಿಳಾಸದಲ್ಲಿ ಮೆಮೊರಿಯನ್ನು ಸ್ಟ್ರಿಂಗ್ ಬಫರ್ ಸೂಚಿಸುತ್ತದೆ. ಮತ್ತು ಈ, ಅದ್ಭುತವಾಗಿದೆ ಬಫರ್ ಕಾರಣ ವಾಸ್ತವವಾಗಿ ಒಂದು ವಿಳಾಸ ಎಂದು ಅರ್ಥ ಇದೆ. ನಾನು ಈ ಕಾರ್ಯಕ್ರಮದಲ್ಲಿ ಒಂದು ರಲ್ಲಿ ದೋಷಯುಕ್ತ ಹಕ್ಕು ಬಹಳ ಗಂಭೀರ ರೀತಿಯಲ್ಲಿ, ಕೆಳಗಿನ ಯಾವ ಕಾರಣ ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಬಫರ್? ನಾನು ಏನು ಒಳಗೆ ಆರಂಭಿಸಲಾಗಿಲ್ಲ ಎಂದು? ಮೆಮೊರಿ ಏನು ಪಡೆ? ನಾನು ಹೊಂದಿವೆ, ಬಲ? ಹಾಗಾಗಿ ಮಂಜೂರು ಮಾಡಿದ ಸಹ ಇನ್ನು ಮುಂದೆ ರು ಕರೆಯಲಾಗುತ್ತದೆ ಚಾರ್ ಸ್ಟಾರ್, ಬದಲಿಗೆ ಎಂದು, ಆದ್ದರಿಂದ buffer-- ನ ವೇರಿಯೇಬಲ್ ಹೆಸರು ರಚಿಸೋಣ ನಾನು ಹೊಂದಿದ್ದರೆ ಈಗ buffer-- ಇಲ್ಲಿ GetString ಅಥವಾ malloc ಎಂದು, ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಅರ್ಥ ಬಫರ್ ಕೇವಲ ಕೆಲವು ತ್ಯಾಜ್ಯವನ್ನು ಮೌಲ್ಯ. ಈಗ ಏನು? ಇದು ನಾನು, scanf ಹೇಳಿದ್ದಾರೆ ಅಂದರೆ ಬಳಕೆದಾರರ ಸ್ಟ್ರಿಂಗ್ ನಿರೀಕ್ಷಿಸಬಹುದು. ಮತ್ತು ನೀವು ಏನು ಗೊತ್ತಾ? ಇರಲಿ ಈ ವಿಷಯ ತೋರುಗಡ್ಡಿ to-- ಮತ್ತು ನಾನು ಪ್ರಶ್ನೆ ಗುರುತು ಸೆಳೆಯಲು, ಆದರೆ ವಾಸ್ತವದಲ್ಲಿ, ಇದು ಎಂದು ವಿಶೇಷವೇನು Ox1, 2, 3, ರೀತಿಯ ಬಲ? ಇದು ಕೆಲವು ನಕಲಿ ಮೌಲ್ಯವನ್ನು ಎಂದು ಕೇವಲ ಮೊದಲು ಅಲ್ಲಿಗೆ ಎಂದು ಸಂಭವಿಸುತ್ತದೆ. ಆದ್ದರಿಂದ ಇನ್ನೊಂದು ರೀತಿಯಲ್ಲಿ, ಇದು ಇಲ್ಲಿದೆ ಬಫರ್ ಕೇವಲ ಆದರೂ ನೆನಪಿಗಾಗಿ ಏನಾದರೂ ಸೂಚಿಸುತ್ತಿದ್ದರು. ನಾನು ಕಲ್ಪನೆಯೂ ಇಲ್ಲ. ನಾನು ಈಗ ಗೇಬ್ ಟೈಪ್ ಆದ್ದರಿಂದ, ಇದು ವಿಶೇಷವೇನು ಅಲ್ಲಿ ಗ್ರಾಂ ಒಂದು ಬೌ ಇ / 0 ಹಾಕಲು ಪ್ರಯತ್ನಿಸಿ. ಆದರೆ ಯಾರು ಎಂದು ಏನು ಗೊತ್ತು? ಮತ್ತು ಹಿಂದೆ, ಯಾವುದೇ ನಾವು ಸ್ಪರ್ಶಕ್ಕೆ ಪ್ರಯತ್ನಿಸಿದ ಸಮಯ ಸೇರುವುದಿಲ್ಲ ಮೆಮೊರಿ ನಮಗೆ, ಏನು ಸಂಭವಿಸಿತು? ಅಥವಾ ಸುಮಾರು ಪ್ರತಿ ಬಾರಿ. ವಿಭಾಗಗಳ ತಪ್ಪು, ಬಲ? ಇದು ಅಲ್ಲಿ ಈ ಬಾಣದ, ನಾನು ಕಲ್ಪನೆಯೂ ಇಲ್ಲ ಗಣಕ ತೆರೆಯಲ್ಲಿನ ಸೂಚಕ. ಇದು ಕೆಲವು ಯಾದೃಚ್ಛಿಕ ಮೌಲ್ಯವನ್ನು ಇಲ್ಲಿದೆ. ಮತ್ತು ಸಹಜವಾಗಿ, ವ್ಯಾಖ್ಯಾನಿಸುವ ವೇಳೆ ಒಂದು ವಿಳಾಸಕ್ಕೆ ಯಾದೃಚ್ಛಿಕ ಮೌಲ್ಯವನ್ನು, ನೀವು ಹೋಗಿ ನೀನು ಕೆಲವು ಯಾದೃಚ್ಛಿಕ ತಾಣವಾಗಿದೆ. ಆದ್ದರಿಂದ ಗೇಬ್ ಕುಸಿತ ವಾಸ್ತವವಾಗಿ ಅಧಿಕಬಲ ಈ ಸಂದರ್ಭದಲ್ಲಿ ನನ್ನ ಕಾರ್ಯಕ್ರಮ. ಆದ್ದರಿಂದ ನಾವು ಬಹಳಷ್ಟು ಕೆಟ್ಟ ಇಲ್ಲಿದೆ ಏನು ಮಾಡಬಹುದು? ಈ ಮೂರನೇ ಪರಿಗಣಿಸಿ ಮತ್ತು ಮಾಹಿತಿ scanf ಅಂತಿಮ ಉದಾಹರಣೆಗೆ. ಈ ಆವೃತ್ತಿಗೆ ಯಾವ ಅರ್ಥದಲ್ಲಿ ಉತ್ತಮ? ನೀವು ಆರಾಮದಾಯಕ, ವೇಳೆ ಹಿಂದಿನ ಸಮಸ್ಯೆ, ಈ ಉತ್ತಮ. ಏಕೆ? ಪ್ರೇಕ್ಷಕರು: [ಕೇಳಿಸುವುದಿಲ್ಲ]. ಡೇವಿಡ್ ಜೆ MALAN: ಗುಡ್. ಸಾಲು 16 ಆದ್ದರಿಂದ ಈ ಸಂದರ್ಭದಲ್ಲಿ ಅರ್ಥದಲ್ಲಿ, ಉತ್ತಮ ನಾವು ಸ್ಪಷ್ಟವಾಗಿ ಎಂಬುದನ್ನು ಕೆಲವು ಮೆಮೊರಿ ನೀಡಲು. ನಾವು, malloc ಬಳಸುವ ಇಲ್ಲ ನಾವು ವಾರದಲ್ಲಿ 2 ಬಳಸುತ್ತಿರುವ ಕೇವಲ ಒಂದು ಶ್ರೇಣಿಯನ್ನು ಘೋಷಿಸುವ ವಿಧಾನ. ಮತ್ತು ನಾವು ಒಂದು ಸ್ಟ್ರಿಂಗ್ ಮೊದಲು ಹೇಳುತ್ತಿದ್ದೆ ಪಾತ್ರಗಳು ಒಂದು ಶ್ರೇಣಿಯನ್ನು, ಆದ್ದರಿಂದ ಈ ಸಂಪೂರ್ಣವಾಗಿ ಕಾನೂನುಬದ್ಧ. ಆದರೆ ಇದು, ಸಹಜವಾಗಿ, ಇಲ್ಲಿದೆ ನೀವು 16, ಸ್ಥಿರ ಗಾತ್ರ ಗಮನಿಸಿ. ಆದ್ದರಿಂದ ಈ ಕಾರ್ಯಕ್ರಮ ಸಂಪೂರ್ಣವಾಗಿ ಸುರಕ್ಷಿತ, ನಾನು ಟೈಪ್ ಒಂದು ಪಾತ್ರದ ತಂತಿಗಳನ್ನು, ಎರಡು ಪಾತ್ರ ತಂತಿ, 15 ರ ತಂತಿಗಳನ್ನು. ಆದರೆ ತಕ್ಷಣ ನಾನು 16 ಟೈಪ್ ಆರಂಭಿಸುವ ಎಂದು, 17, 18, 1000 ರ ತಂತಿಗಳು ಅಲ್ಲಿ ಒಂದು ತಂತುವಿನ ಅಂತ್ಯಗೊಳಿಸಲು ಹೋಗುತ್ತದೆ? ಇದು ಭಾಗಶಃ ಇಲ್ಲಿ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ ಹೋಗುವುದಿಲ್ಲ. ಆದರೆ ಯಾರು ಇನ್ನೇನು ತಿಳಿದಿರುವ ಎನ್ನದೇ ಆಗಿದೆ ಈ ನಿರ್ದಿಷ್ಟ ರಚನೆಯ? ಬಂದಿದೆ ಸೂಚಿಸುತ್ತದೆ ಇಲ್ಲಿ 16 ಪೆಟ್ಟಿಗೆಗಳು ಘೋಷಿಸಿದರು. ಆದ್ದರಿಂದ ಎಲ್ಲಾ 16 ರೂಪಿಸಲು ಬದಲಿಗೆ, ನಾವು ಮಾಡುತ್ತೇವೆ ನಾನು 16 ಡ್ರಾ ನೀವು ನಟಿಸುವುದು. ಆದರೆ ನಾನು ಒಂದು ಸ್ಟ್ರಿಂಗ್ ಓದಲು ಪ್ರಯತ್ನಿಸಿದರೆ 50 ಪಾತ್ರಗಳು, ಹೆಚ್ಚು ಮುಂದೆ ಇಲ್ಲಿದೆ, ನಾನು ಪುಟ್ಟಿಂಗ್ ಆರಂಭಿಸಲು ಪಡೆಯಲಿದ್ದೇನೆ ಎ, ಬಿ, ಸಿ, ಡಿ, X, Y, Z. ಈ ಬಹುಶಃ ಕೆಲವು ಮೆಮೊರಿ ವಿಭಾಗದಲ್ಲಿ ಆ, ಮತ್ತೆ ಕಾರಣವಾಗಬಹುದು ನನ್ನ ಪ್ರೋಗ್ರಾಂ, ಕುಸಿತಕ್ಕೆ ನಾನು ಕೇಳಲಿಲ್ಲ ಮಾಡಿದ ಕಾರಣ ಕೇವಲ 16 ಬೈಟ್ಗಳು ಹೆಚ್ಚು ಏನು. ಆದ್ದರಿಂದ ಯಾರು ಕೇಳ್ತಾರೆ? ಹಾಗೆಯೇ, ಇಲ್ಲಿ CS50 ಗ್ರಂಥಾಲಯದ. ಮತ್ತು ಈ ಅತ್ಯಂತ ಕೇವಲ ಆಗಿದೆ ಟಾಪ್ ಅಪ್ ಸೂಚನೆಗಳನ್ನು ಹಾಗೆ. CS50 ಗ್ರಂಥಾಲಯದ, ಈ ಬಾರಿ, ಸಾಲು 52 ರಲ್ಲಿ ಈ ಸಾಲಿನ ಬೀರಿದೆ. ನಾವು typedef ಕಾಣಬಹುದು, ಅಥವಾ ನೀವು ನೀವು typedef ನೋಡಬಹುದು ಕೇವಲ ಸೃಷ್ಟಿಸುತ್ತದೆ ಇದು pset 4, ರಲ್ಲಿ ಸಮಾನಾರ್ಥಕ ಚಾರ್ ಸ್ಟಾರ್ ಹೆಚ್ಚು ಆ ಕೇವಲ ಸ್ಟ್ರಿಂಗ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಆದ್ದರಿಂದ ಈ ಒಂದಾಗಿದೆ ಕೆಲವು ತರಬೇತಿ ಚಕ್ರಗಳು ನಾವು HOOD ಕೆಳಗೆ ರಹಸ್ಯವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ ಬಂದಿದೆ. ಏತನ್ಮಧ್ಯೆ, ಇಲ್ಲಿ GetChar, ಕಾರ್ಯ. ಈಗ ಸ್ಪಷ್ಟವಾಗಿ, ಇದು ಯಾವುದೇ ದೇಹದ ಇಲ್ಲ. ಮತ್ತು ವಾಸ್ತವವಾಗಿ, ನಾನು ಇರಿಸಿಕೊಳ್ಳಲು ವೇಳೆ ಸ್ಕ್ರೋಲಿಂಗ್, ನಾನು ಹಾಗೆ ಯಾವುದೇ ಸಜ್ಜುಗೊಳಿಕೆಗಳು ನೋಡಿ ಈ ಕಾರ್ಯಗಳನ್ನು. ಒಂದು ವಿವೇಕ ಚೆಕ್ ಎಂದು, ಎಂದು ಏಕೆ? ಪ್ರೇಕ್ಷಕರು: [ಕೇಳಿಸುವುದಿಲ್ಲ]. ಡೇವಿಡ್ ಜೆ MALAN: ಹೌದು. ಆದ್ದರಿಂದ ಈ ಹೆಡರ್ ಕಡತವನ್ನು ಹೊಂದಿದೆ. ಮತ್ತು ಹೆಡರ್ ಕಡತಗಳನ್ನು ಮೂಲಮಾದರಿಗಳ ಹೊಂದಿರುತ್ತವೆ, ಜೊತೆಗೆ ಕೆಲವು ಇತರ ವಿಷಯ, ತೋರುತ್ತದೆ typedefs ಹಾಗೆ. ಆದರೆ cs50.c, ನಾವು ಮಾಡಿದ ಯಾವ ಸಾರಾಸಗಟಾಗಿ ನೀವು ಕೊಟ್ಟಿರುವುದಿಲ್ಲ, ಆದರೆ CS50 ಉಪಕರಣಗಳಲ್ಲಿರುವ ಬಂದಿದೆ ಎಲ್ಲಾ ಈ ಬಾರಿ, ಆಳವಾದ ತನ್ನ ಫೋಲ್ಡರ್ಗಳನ್ನು ಒಳಗೆ, ಇಡೀ ಇಲ್ಲ ಎಂದು ಗಮನಕ್ಕೆ ಇಲ್ಲಿ ಕಾರ್ಯಗಳನ್ನು ಕನಸುಗಳಿವೆ. ವಾಸ್ತವವಾಗಿ, ನ ಕೆಳಗೆ ಸ್ಕ್ರಾಲ್ ಅವಕಾಶ. ಈಗ, ಅವುಗಳನ್ನು ಅತ್ಯಂತ ನಿರ್ಲಕ್ಷಿಸಿ. ಆದರೆ GetInt ಕೆಳಗೆ ಸ್ಕ್ರಾಲ್ ಮತ್ತು GetInt ಕೆಲಸ ಹೇಗೆ ನೋಡಲು. ಆದ್ದರಿಂದ ಇಲ್ಲಿ GetInt ಹೊಂದಿದೆ. ನೀವು ಎಂದಿಗೂ ನೋಡಿಕೊಂಡರು ವೇಳೆ ಹೇಗೆ ಪಡೆಯುವುದು ಇಂಟ್ ಇಲ್ಲಿ, ಕೆಲಸ ಅದರ ದಸ್ತಾವೇಜನ್ನು ಹೊಂದಿದೆ. ಮತ್ತು ವಿಷಯಗಳ ನಡುವೆ ಅದು ತಿಳಿಸುತ್ತದೆ ಹೇಳುತ್ತದೆ ಮೌಲ್ಯಗಳ ವ್ಯಾಪ್ತಿಯ ಮರಳಬಹುದು ಏನು. ಇದು ಮೂಲಭೂತವಾಗಿ ನಕಾರಾತ್ಮಕವಾಗಿದೆ 2 ಬಿಲಿಯನ್ ಧನಾತ್ಮಕ 2 ಬಿಲಿಯನ್, ನೀಡಲು ಅಥವಾ ಪಡೆಯಲು. ಮತ್ತು ಇದು ಎಲ್ಲಾ ಈ, ತಿರುಗಿದರೆ ಸಮಯ, ನಾವು ಎಂದಿಗೂ ಮಾಡಿದ ಸಹ ನೀವು ಪರಿಶೀಲಿಸಿ ಎಂದು ಒಂದು ವೇಳೆ ಏನಾದರೂ ತಪ್ಪಾದಲ್ಲಿ, ಇದು ಎಲ್ಲಾ ತಿರುಗಿದರೆ ಈ ಬಾರಿ, GetInt ಹೊಂದಿದೆ ವಿಶೇಷ ಮರಳಿದ , ಶೂನ್ಯ, ಸ್ಥಿರವಲ್ಲ ಆದರೆ ಇದು, INT_MAX ಕೇವಲ ಪ್ರೋಗ್ರಾಮರ್ ನ ಸಮಾವೇಶ. ಇಲ್ಲಿ ಅರ್ಥ ವಿಶೇಷ ಕೆಳಗಿನ. ಕೇವಲ, ಈ ಪರಿಶೀಲಿಸಿ ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ ಸಂದರ್ಭದಲ್ಲಿ ಏನಾದರೂ ತಪ್ಪಾದಲ್ಲಿ. ಆದರೆ ನಾವು ತೊಂದರೆಯಾಗಿತ್ತು ಎಂದಿಗೂ ಬಂದಿದೆ ಇಲ್ಲಿಯವರೆಗೆ ಅದು, ಮತ್ತೆ, ಈ ಕಾರಣ ಸರಳಗೊಳಿಸುವ ಉದ್ದೇಶವನ್ನು ಹೊಂದಿದೆ. ಆದರೆ ಹೇಗೆ GetInt ಜಾರಿಗೆ ಪಡೆಯುತ್ತೀರಿ ಮಾಡುವುದಿಲ್ಲ? ಅಲ್ಲದೆ, ಒಂದು, ಇದು ಯಾವುದೇ ವಾದಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ಎಂದು ಪ್ರಶ್ನಿಸಿದರು. ಇದು ಒಂದು ಇಂಟ್ ಹಿಂದಿರುಗಿಸುತ್ತದೆ. ಎಂದು ಪ್ರಶ್ನಿಸಿದರು. ಆದ್ದರಿಂದ ಹೇಗೆ HOOD ಕೆಳಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ? ಆದ್ದರಿಂದ ಸ್ಪಷ್ಟವಾಗಿ ಅನಂತ ಇಲ್ಲ ಲೂಪ್, ಒಂದು ಕನಿಷ್ಠ ಕಾಣಿಸಿಕೊಂಡ. ನಾವು GetString ಬಳಸಿಕೊಂಡು ನೀವು ಗಮನಿಸಬಹುದು. ಆದ್ದರಿಂದ ಆಸಕ್ತಿಕರವಾಗಿದೆ. GetInt ನಮ್ಮ ಕಾರ್ಯ, GetString ಕರೆಗಳನ್ನು. ಈಗ ಏಕೆ ಈ ಸಂದರ್ಭದಲ್ಲಿ ಇರಬಹುದು? ನಾನು ರಕ್ಷಣಾತ್ಮಕ ಮಾಡಲಾಗುತ್ತಿದೆ ಇಲ್ಲಿ ಲೈನ್ 165 ರಲ್ಲಿ? ಏನು ಸಾಲಿನಲ್ಲಿ ಆಗಬಹುದು 164, ಕೇವಲ ಸ್ಪಷ್ಟ ಎಂದು? ಇದು ಮೊದಲಿದ್ದ ಉತ್ತರ ಇಲ್ಲಿದೆ. ಕೇವಲ ಮೆಮೊರಿ ಇರಬಹುದು. ಏನೋ, GetString ತಪ್ಪು ಹೋಗುತ್ತದೆ ನಾವು ನಿರ್ವಹಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ ಮಾಡಲೇಬೇಕು. ಮತ್ತು ಕಾರಣ ನಾನು ಶೂನ್ಯ ಹಿಂತಿರುಗಿ ಎಂದು, ತಾಂತ್ರಿಕವಾಗಿ, ಶೂನ್ಯ ಪಾಯಿಂಟರ್. GetInt ಒಂದು ಇಂಟ್ ಮರಳಲು ಹೊಂದಿದೆ. ಹಾಗಾಗಿ ನಿರಂಕುಶವಾಗಿ ಬಂದಿದೆ ಮೂಲಭೂತವಾಗಿ, ನಿರ್ಧರಿಸಿದ್ದಾರೆ 2 ಬಿಲಿಯನ್ ಎಂದು, ಹೋಗುತ್ತದೆ, ನೀಡಲು ಅಥವಾ ಪಡೆಯಲು ವಿಶೇಷ ಮೌಲ್ಯದ ಎಂದು ನಾನು ಹೇಗೆ ಇಲ್ಲ ವಾಸ್ತವವಾಗಿ ಬಳಕೆದಾರರಿಂದ ಪಡೆಯಿರಿ. ಇದು ನಾನು ಪಡೆಯಲಿದ್ದೇನೆ ಕೇವಲ ಒಂದು ಮೌಲ್ಯವನ್ನು ಇಲ್ಲಿದೆ ದೋಷ ಕೋಡ್ ಪ್ರತಿನಿಧಿಸಲು ವ್ಯರ್ಥ. ಈಗ, ವಿಷಯಗಳನ್ನು ಸ್ವಲ್ಪ ಅಲಂಕಾರಿಕ. ಮತ್ತು ಇದು ಅದೇ ಕಾರ್ಯ ಅಲ್ಲ ಮೊದಲು, ಆದರೆ ಇದು ಹೋಲುತ್ತದೆ. ಹಾಗಾಗಿ ಸಾಲಿನಲ್ಲಿ, ಇಲ್ಲಿ ಘೋಷಿಸಿದ, ಗಮನಕ್ಕೆ 172, ಒಂದು int N ಮತ್ತು ಚಾರ್ ಸಿ ಎರಡೂ. ಮತ್ತು ನಂತರ ನಾನು, ಈ ಮೋಜಿನ ಲೈನ್ ಬಳಸಿ ಇದು ತಿರುಗಿದರೆ ಇದು sscanf,, ಕೀಬೋರ್ಡ್ ಒಂದು ಸರಣಿಯನ್ನು ಸ್ಕ್ಯಾನ್ ಇಲ್ಲ. ಇದು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಸ್ಟ್ರಿಂಗ್ ನಿಂತಿದೆ ಬಳಕೆದಾರರು ಈಗಾಗಲೇ ಸೈನ್ ಟೈಪಿಸಿದ. ಹಾಗಾಗಿ ಈಗಾಗಲೇ GetString, ಎಂದು ನಾನು ಮೆಮೊರಿ ಸ್ಟ್ರಿಂಗ್ ಅರ್ಥ. sscanf, ನೀವು ಬಯಸುವ ಆಗಿದೆ ಒಂದು ಪಾರ್ಸಿಂಗ್ ಕಾರ್ಯ ಕರೆ. ಇದು ನಾನು ಮಾಡಿದ ಸ್ಟ್ರಿಂಗ್ ನೋಡುವುದು ಅಕ್ಷರದ ಮೂಲಕ ಪಾತ್ರ ಬೆರಳಚ್ಚಿಸಿದ ಮತ್ತು ಏನಾದರೂ ಉಪಯುಕ್ತವಾದ. ಆ ಸ್ಟ್ರಿಂಗ್ ಲೈನ್ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ. ನಾನು ಮಾತ್ರ ಮೂಲಕ ಹೋಗುವ ತಿಳಿದಿರುವುದು ಸರಿ, ಓ, ಇಲ್ಲಿ ಮತ್ತು ಹೇಳುವ ಬ್ಯಾಕ್ಅಪ್, ನಾನು ಈ ಬಾರಿ, ಆದರೆ ಸಾಲು ಎಂದು. ಈಗ ಈ ಸ್ವಲ್ಪ ವಿಭಿನ್ನವಾಗಿದೆ. ಆದರೆ ಈ ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಕಾರಣಗಳಿಗಾಗಿ, ಅಂದರೆ ನಾವು ಸ್ವಲ್ಪ, ಇಂದು ನಮ್ಮ ಕೈ ಅಲೆಗಳ ನಾವು ನಾವು ಪರಿಶೀಲಿಸುತ್ತಿದ್ದೇವೆ ಎಂದು ಬಳಕೆದಾರ ಬೆರಳಚ್ಚಿಸಿದ ನೀವು ಮತ್ತು ಇಂಟ್ ಮತ್ತು ಪ್ರಾಯಶಃ ಮತ್ತೊಂದು ಪಾತ್ರ. ಬಳಕೆದಾರ ಒಂದು ಇಂಟ್ ಬೆರಳಚ್ಚಿಸಿದ, ಅದು ಇಲ್ಲಿದೆ ನಾನು ಮನುಷ್ಯ ಏಕೆಂದರೆ ಹೋಗುವ, ಎನ್ ಸಂಗ್ರಹಿಸಿಡಲು ವಿಳಾಸ ಈ ಹಾದುಹೋಗುವ, ನಾವು ಇಂದು ನೋಡಿದ ಹೊಸ ಟ್ರಿಕ್. ಬಳಕೆದಾರರು ಟೈಪ್ ಮಾಡಿದರೆ ಹಾಗೆ 123x ರಲ್ಲಿ, ಕ್ಷ ಒಂದು ಅಂತ್ಯಗೊಳ್ಳುತ್ತಿತ್ತು ಹೋಗುತ್ತದೆ ಮೀ ಸಿ ಪತ್ರ. ಈಗ ಆ sscanf, ತಿರುಗಿದರೆ ಬುದ್ಧಿವಂತಿಕೆಯಿಂದ, ನನ್ನ ತಿಳಿಸುವರು, ಎಷ್ಟು ಅಸ್ಥಿರ sscanf ಮಾಡಲಾಯಿತು ತುಂಬಲು ಯಶಸ್ವಿಯಾಗಿ ಸಾಧ್ಯವಾಗುತ್ತದೆ. ಈ ತರ್ಕ, ಆದ್ದರಿಂದ ಕಾರ್ಯ ನಾನು, GetInt ಇದೆ ಅನುಷ್ಠಾನಕ್ಕೆ ಬಾಗುತ್ತೇನೆ ಆದರೆ ನಾನು, ಪರೀಕ್ಷಿಸುವ ನಾನು, ಸಂಭಾವ್ಯ, ಬಳಕೆದಾರರು ಒಂದು ಇಂಟ್ ಬೆರಳಚ್ಚಿಸಿದ ಎಂದು ಯಾವುದೋ ನಂತರ, ನಾನು sscanf, ನ ಬಯಸುತ್ತೀರಿ ಮರಳುವ ಮೌಲ್ಯವನ್ನು ನಿಜವಾಗಿಯೂ ಎಂದು? ಉದ್ದೇಶ ಪಡೆಯಲು ವೇಳೆ ಕೇವಲ ಬಳಕೆದಾರರ ಒಂದು ಇಂಟ್? ಆದ್ದರಿಂದ sscanf ಹಿಂದಿರುಗಿಸುತ್ತದೆ 2, ಏನು? ಬಳಕೆದಾರ ಬೆರಳಚ್ಚಿಸಿದ ಏನೋ ಹಾಗೆ, ಅಕ್ಷರಶಃ, ಕೇವಲ ಅಸಂಬದ್ಧ ಇದು 123x,. ಇದು ದೋಷ ಸ್ಥಿತಿ, ಮತ್ತು ನಾನು ಪರಿಶೀಲಿಸಿ ಬಯಸುವ. ಆದ್ದರಿಂದ ಈ ಬಳಕೆದಾರ ರೀತಿಯ ವೇಳೆ, ಮೂಲಕ ಈ ತರ್ಕ, ಮರಳಿ sscanf, ಏನು, ನೀವು ಹೇಳಬಹುದು? ಆದ್ದರಿಂದ ಏಕೆಂದರೆ, 2 ಮರಳಲು ವಿಶೇಷವೇನು 123, ಇಲ್ಲಿ ಹೋಗುತ್ತಿದ್ದೇವೆ ಇದೆ ಮತ್ತು X ಇಲ್ಲಿ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ ಹೋಗುತ್ತದೆ. ಆದರೆ ನಾನು X ತುಂಬಿದ ಮಾಡಲು ಬಯಸುವುದಿಲ್ಲ. ನಾನು ಮಾತ್ರ ಯಶಸ್ವಿಯಾಗಲು sscanf ಬಯಸುವ ತನ್ನ ಅಸ್ಥಿರ ಮೊದಲ ತುಂಬುವ. ಆದ್ದರಿಂದ ಏಕೆ ನಾನು sscanf, 1 ಮರಳಲು ಬಯಸುವ. ಈ ತಲೆಯ ಮೇಲೆ ಸ್ವಲ್ಪ ವೇಳೆ ಕ್ಷಣ ಎಂದು ಸಂಪೂರ್ಣವಾಗಿ ಉತ್ತಮ ಇಲ್ಲಿದೆ. , ಆದರೂ ಆ ಒಂದು ಅರ್ಥ GetInt ಮತ್ತು GetString ಮೌಲ್ಯಗಳನ್ನು ನಾವು ಒಂದು ಬೀಟಿಂಗ್ ಮಾಡುತ್ತಿರುವುದು ಎಂಬುದು ಈ ರೀತಿಯಾಗಿ ತಪ್ಪುಗಳ ಪರಿಶೀಲನೆಯ ಬಹಳಷ್ಟು ಎಂದು ಇಲ್ಲಿಯವರೆಗೆ, ನೀವು ಅತ್ಯಧಿಕವಾಗಿ ಮಾಡಬಹುದು ನಿಮ್ಮ ಕೀಬೋರ್ಡ್ ನಲ್ಲಿ ಕೌಟುಂಬಿಕತೆ ಏನು, ಮತ್ತು ನಾವು ಅದನ್ನು ಕ್ಯಾಚ್. ಮತ್ತು ನಾವು, ಸಿಬ್ಬಂದಿ ಅಲ್ಲ ಖಂಡಿತವಾಗಿ ತಿನ್ನುವೆ ಒಂದು ದೋಷವನ್ನು ಮೂಲವೆಂದು ನಿಮ್ಮ ಪ್ರೋಗ್ರಾಂ, ನಾವು ರಕ್ಷಣಾತ್ಮಕವಾಗಿ ಇರುವ ಕಾರಣ ಸ್ಟುಪಿಡ್ ಎಲ್ಲಾ ಪರಿಶೀಲಿಸುತ್ತಿದೆ ಒಂದು ಬಳಕೆದಾರ ಏನು ಎಂದು ವಸ್ತುಗಳ, , ಒಂದು ಸ್ಟ್ರಿಂಗ್ ಟೈಪ್ ಹಾಗೆ ನೀವು ನಿಜವಾಗಿಯೂ ಇಂಟ್ ಬಯಸಿದ್ದರು. ನಾವು ಬಂದು ನಾವು ಈಗ ಫಾರ್ ಮರಳಿ long-- ಮೊದಲು ಆದರೆ ಈ ಬಾರಿ, GetString ಮತ್ತು GetInt ಹೊಂದಿವೆ ಈ ಬಳಸಿ HOOD ಕೆಳಗೆ ಬಂದಿದೆ ಮೆಮೊರಿ ವಿಳಾಸಗಳ ಮೂಲ ಕಲ್ಪನೆಯನ್ನು. ಈಗ, ಒಂದು ತಂದೆಯ ವಸ್ತುಗಳ ಮಾಡೋಣ ಬಳಕೆದಾರ ಸ್ನೇಹಿ ಸ್ವಲ್ಪ ಹೆಚ್ಚು. ನೀವು Binky ಆನ್ಲೈನ್ ಕೊನೆಯ, ಸ್ಮರಿಸಿಕೊಳ್ಳಲು ಬಾರಿ ನನ್ನ ಮೌಸ್ ಆದ್ದರಿಂದ cooperate-- ಹೋದರೆ ನಾವು ಈ ಕೋಡ್, ಹೊಂದಿದ್ದ ನಾನೂ ತಕ್ಕಮಟ್ಟಿಗೆ ಅಸಂಬದ್ಧ. ಈ ಕೋಡ್ ಏನೂ ಸಾಧಿಸುತ್ತದೆ ಉಪಯುಕ್ತ, ಆದರೆ ಉದಾಹರಣೆ ಆ ಪ್ರೊಫೆಸರ್ Parlante ಪ್ರತಿನಿಧಿಸುವ ಸಲುವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ ಯಾವ ಒಂದು ನಡೆಯುತ್ತಿರುವುದರ ಮೆಮೊರಿ ಒಳಗೊಂಡ ಪ್ರೋಗ್ರಾಂ. ಆದ್ದರಿಂದ ಅವರ ಈ ಮತ್ತೊಂದು ರೀತಿಯಲ್ಲಿ ತಿಳಿಸಲಾದ ಅವಕಾಶ ಕಥೆ ಸೂಪರ್ ಸಂಕ್ಷಿಪ್ತವಾಗಿ. ಈ ಮೊದಲ ಎರಡು ಸಾಲುಗಳು, ರಲ್ಲಿ ಇಂಗ್ಲೀಷ್, ನೀವು ಏನು, ಹೇಳುತ್ತಿದ್ದರು ಇಲ್ಲ? ಕೇವಲ ಸಮಂಜಸ ಮಾನವ, ಆದರೆ ಸ್ವಲ್ಪ ತಾಂತ್ರಿಕವಾಗಿ, ಒಂದು ಇರಿತ. ಪ್ರೇಕ್ಷಕರು: [ಕೇಳಿಸುವುದಿಲ್ಲ]. ಡೇವಿಡ್ ಜೆ MALAN: ಸರಿ, ನೀವು ಸ್ಥಾಪಿಸಲು ನೀವು ನಿಮ್ಮ X ಮತ್ತು Y ಚರಾಂಕಗಳ ವಿಳಾಸಗಳು. ಹೆಚ್ಚು, X ಮತ್ತು Y ಕಾರಣ ಸಾಂಪ್ರದಾಯಿಕ ಅರ್ಥದಲ್ಲಿ ಅಸ್ಥಿರ. x ಮತ್ತು y ವಿಳಾಸಗಳನ್ನು ಅಥವಾ ವಿಳಾಸಕ್ಕೆ ಸಂಗ್ರಹಿಸುತ್ತದೆ. ಆದ್ದರಿಂದ ಅವರ ಈ ಮತ್ತೊಮ್ಮೆ ಪ್ರಯತ್ನಿಸೋಣ. ಒಂದು ಕೆಟ್ಟ ಆರಂಭ, ಆದರೂ. ಹೌದು? ಪ್ರೇಕ್ಷಕರು: [ಕೇಳಿಸುವುದಿಲ್ಲ]. ಡೇವಿಡ್ ಜೆ MALAN: ಗುಡ್. ನಾನು ಸ್ವಲ್ಪ ಮಾರ್ಜಕದ ಭಾವಿಸುತ್ತೇನೆ. ಎರಡು ಪಾಯಿಂಟರ್ಸ್, ಎರಡು ಪೂರ್ಣಾಂಕಗಳ ಘೋಷಿಸುವುದು. ಮತ್ತು ನಾವು ಅವರನ್ನು x ಮತ್ತು y ಕರೆ ಮಾಡುತ್ತಿದ್ದೇವೆ. ಅಥವಾ ನಾವು ವೇಳೆ ಸೆಳೆಯಲು ಈ ಚಿತ್ರವನ್ನು ಮತ್ತೊಮ್ಮೆ, ಸಾಕಷ್ಟು ಸರಳವಾಗಿ ಎಲ್ಲಾ ನೆನಪಿಸಿಕೊಂಡು ನಾವು ಮೊದಲ ಸಾಲಿನಲ್ಲಿ ಮಾಡುತ್ತಿರುವುದು ಈ ರೀತಿಯ ಒಂದು ಬಾಕ್ಸ್ ಡ್ರಾಯಿಂಗ್ ಇದೆ, ಇದು ಕೆಲವು ತ್ಯಾಜ್ಯವನ್ನು ಮೌಲ್ಯವನ್ನು, ನಂತರ ಅದನ್ನು ಎಕ್ಸ್ ಕರೆ, ಮತ್ತು ಈ ರೀತಿಯ ಮತ್ತೊಂದು ಬಾಕ್ಸ್, ಕೆಲವು ತ್ಯಾಜ್ಯವನ್ನು ಮೌಲ್ಯವನ್ನು ಇದು, ವೈ ಕರೆ. ನಾವು ಎರಡು ಡಿಕ್ಲೇರ್ಡ್ ಮಾಡಿದ ಪಾಯಿಂಟರ್ಸ್ ಅಂತಿಮವಾಗಿ ಒಂದು ಇಂಟ್ ವಿಳಾಸವನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ. ಆದ್ದರಿಂದ ಎಲ್ಲ ಇಲ್ಲ. Binky ಆನ್ಲೈನ್ ಈ ಮಾಡಿದರು ಆದ್ದರಿಂದ, ಮಣ್ಣಿನ ಈ ಹೇಗಿತ್ತು. ಮತ್ತು ನಿಕ್ ಕೇವಲ ರೀತಿಯ ಬಾಣಗಳನ್ನು ಸುತ್ತಿಡಲಾಗುತ್ತಿದ್ದರೆ, ಆದರೂ ಅವರು ಎಲ್ಲೆಡೆ ತೋರುಗಡ್ಡಿ ನೀವು ನಿರ್ದಿಷ್ಟವಾಗಿ, ಏಕೆಂದರೆ ಅವರು ಕೇವಲ ಆರ್ ಕಸ ಮೌಲ್ಯಗಳು. ಅವರು ಸ್ಪಷ್ಟವಾಗಿ ಆರಂಭಿಸಲಾಗಿಲ್ಲ ಇಲ್ಲ ನಗರದಲ್ಲಿ ವಿಶೇಷವಾಗಿ. ಈಗ ಮುಂದಿನ ಸಾಲಿನ ಕೋಡ್, ಮರುಸ್ಥಾಪನೆ, ಈ ಆಗಿತ್ತು. ಸಮಂಜಸವಾಗಿ ಬಳಕೆದಾರ ಸ್ನೇಹಿ ರಲ್ಲಿ ಆದ್ದರಿಂದ ಆದರೆ ಸ್ವಲ್ಪ ತಾಂತ್ರಿಕ ಇಂಗ್ಲೀಷ್, ಕೋಡ್ ಮಾಡುವ ಈ ಸಾಲಿನ ಏನು? ಹೌದು? ಪ್ರೇಕ್ಷಕರು: [ಕೇಳಿಸುವುದಿಲ್ಲ]. ಡೇವಿಡ್ ಜೆ MALAN: ಪರ್ಫೆಕ್ಟ್. ಇದು ಆಫ್ ಪಾಲನ್ನು ನೀಡಲು ನ ಒಂದು ಇಂಟ್ ಗಾತ್ರವನ್ನು ಎಂದು ಮೆಮೊರಿ. ಆ ಅರ್ಧ ಉತ್ತರ ಇಲ್ಲಿದೆ. ನೀವು ಬಲ ಉತ್ತರ ಅಭಿವ್ಯಕ್ತಿ ಅರ್ಧದಷ್ಟು. ಏನು ನಡೆಯುತ್ತಿದೆ ಸಮ ಚಿಹ್ನೆಯ ಎಡಬದಿಯಲ್ಲಿ? ಹೌದು? ಪ್ರೇಕ್ಷಕರು: ನಿಯೋಜಿಸುತ್ತದೆ ಇದು ವ್ಯತ್ಯಯ X ಗೆ? ಡೇವಿಡ್ ಜೆ MALAN: ಮತ್ತು ನಿಯೋಜಿಸುತ್ತದೆ ಇದು ವ್ಯತ್ಯಯ X ಗೆ. ರೀಕ್ಯಾಪ್, ಬಲಭಾಗದಲ್ಲಿರುವ ಗೊತ್ತುಪಡಿಸುತ್ತದೆ ಆದ್ದರಿಂದ ಸಾಕಷ್ಟು ಮೆಮೊರಿ ಇಂಟ್ ಶೇಖರಿಸಿಡಲು. ಆದರೆ malloc ನಿರ್ದಿಷ್ಟವಾಗಿ ವಿಳಾಸಕ್ಕೆ ಹಿಂದಿರುಗಿಸುತ್ತದೆ ನೀವು ಮಾಡಿದ ಯಾವ ಮೆಮೊರಿ ಆ ಚಂಕ್, ಆಫ್ ಕೇವಲ X ಸಂಗ್ರಹವಾಗಿರುವ ಗಳಿಸುವ ಪ್ರಸ್ತಾಪಿಸಿದರು. ಹಾಗಾಗಿ ನಿಕ್ Binky ಆನ್ಲೈನ್ ಕೊನೆಯ ಟೈಮ್ ಆಗಿದೆ ಆ ಪಾಯಿಂಟರ್ ಎಳೆದಿದ್ದೀರಿ, ಮಣ್ಣಿನ, ಮೆಮೊರಿ ಬಿಳಿ ಪಡೆ ಈಗ ತೋರಿಸಲು ಒಂದು ಇಂಟ್ ಗಾತ್ರವನ್ನು ಸಮಾನವಾಗಿರುತ್ತದೆ. ಮತ್ತು ವಾಸ್ತವವಾಗಿ, ಅರ್ಥ ನಾಲ್ಕು ಬೈಟ್ಗಳು ಪ್ರತಿನಿಧಿಸಲು. ಕೋಡ್ ಆಫ್ ಈಗ, ಮುಂದಿನ ಸಾಲಿನ ಈ ಮಾಡಿದರು, ಸ್ಟಾರ್ X 42 ಪಡೆಯುತ್ತದೆ. ಆದ್ದರಿಂದ 42 ರಂದು ನೇರವಾಗಿರುತ್ತದೆ ಬಲಭಾಗದಲ್ಲಿರುವ, ಜೀವನದ ಅರ್ಥ. ಎಡಬದಿಯಲ್ಲಿ, ಸ್ಟಾರ್ X ಏನು ಅರ್ಥ? ಒಕೆ gone-- ಅದೂ ಹೊಂದಿರಬಹುದು. ಸರಿ. ಪ್ರೇಕ್ಷಕರು: ಮೂಲತಃ, [ಕೇಳಿಸುವುದಿಲ್ಲ] ಹೋಗಿ ಡೇವಿಡ್ ಜೆ MALAN: ಗುಡ್. ಪ್ರೇಕ್ಷಕರು: [ಕೇಳಿಸುವುದಿಲ್ಲ]. ಡೇವಿಡ್ ಜೆ MALAN: ನಿಖರವಾಗಿ. ಎಡಬದಿಯಲ್ಲಿ ಎಕ್ಸ್ ಹೋಗಿ ಅರ್ಥ. ಎಕ್ಸ್ ವಿಳಾಸ. ಇದು 33 ಆಕ್ಸ್ಫರ್ಡ್ ಸ್ಟ್ರೀಟ್, ಅಥವಾ Ox1 ಅನಿಸುತ್ತದೆ. ಮತ್ತು ಸ್ಟಾರ್ X ಎಂದು ಹೋಗಿ ಅರ್ಥ ಪರಿಹರಿಸಲು ಮತ್ತು ಪುಟ್? 42. ಆದ್ದರಿಂದ ವಾಸ್ತವವಾಗಿ, ನಿಕ್ ನಿಖರವಾಗಿ ಇಲ್ಲಿದೆ. ಅವರು, ಮೂಲಕ ಪ್ರಾರಂಭವಾಯಿತು ಮೂಲಭೂತವಾಗಿ, ಮಾನಸಿಕವಾಗಿ ಬೆರಳು ತೋರುಗಡ್ಡಿ X, ಬಾಣದ ಕೆಳಗಿನ ಬಲಗೈ ಮೇಲೆ ಬಿಳಿ ಬಾಕ್ಸ್ ಅಡ್ಡ, ಮತ್ತು ಸಂಖ್ಯೆಯ 42 ಹಾಕುವ. ಆದರೆ ನಂತರ ವಿಷಯಗಳನ್ನು ಸಿಕ್ಕಿತು ಒಂದು ಕಡಿಮೆ ಅಪಾಯಕಾರಿ, ಬಲ? Binky ಸ್ ತಲೆಯನ್ನು ಕಳೆದುಕೊಳ್ಳುವ ಬಗ್ಗೆ. ಸ್ಟಾರ್ ವೈ ಏನು ಅರ್ಥ, 13, ದುರಾದೃಷ್ಟ ಸಮ? ಆದ್ದರಿಂದ ಸ್ಟಾರ್ ವೈ ಎಂದರೆ ವೈ ರಲ್ಲಿ ವಿಳಾಸಕ್ಕೆ ಹೋಗಿ. ಆದರೆ ವೈ ವಿಳಾಸ ಯಾವುದು? ಸರಿ, ಇದು ಕಸದ ಮೌಲ್ಯವನ್ನು ಬಲ? ನಾನು ಪ್ರಶ್ನೆಯನ್ನು ಗುರುತಾಗಿ ಇದು ಸೆಳೆಯಿತು. ನಿಕ್ ಒಂದು ಸುರುಳಿಯಾಗಿರುತ್ತದೆ ಬಾಣದ ಎಂದು ಸೆಳೆಯಿತು. ಮತ್ತು ತಕ್ಷಣ ನೀವು ಯತ್ನಿಸುವ ಅಲ್ಲಿ ಹೋಗಿ ಹೇಳುವ ಸ್ಟಾರ್ ವೈ, ಆದರೆ ಒಂದು ಕಾನೂನುಬದ್ಧ ಇಲ್ಲ ವಿಳಾಸ, ಇದು ಕೆಲವು ನಕಲಿ ಸ್ಥಳ ಇಲ್ಲಿದೆ, ಪ್ರೋಗ್ರಾಮ್ ಕುಸಿತಕ್ಕೆ ಹೋಗುವುದಿಲ್ಲ. ಮತ್ತು binky ತಲೆ ಹೋಗುತ್ತದೆ ಇದು ಮಾಡಿದಂತೆ, ಇಲ್ಲಿ ಆಫ್ ಹಾರುವ. ಕೊನೆಯಲ್ಲಿ, ಈ ಪ್ರೋಗ್ರಾಂ ಆದ್ದರಿಂದ ಚಪ್ಪಟೆ ಔಟ್ ನ್ಯೂನತೆಯು. ಇದು ಒಂದು ದೋಷಯುಕ್ತ ಕಾರ್ಯಕ್ರಮವಾಗಿತ್ತು. ಮತ್ತು ಇದು ಸರಿಪಡಿಸುವ ಅಗತ್ಯವಿದೆ. ಮಾತ್ರ ರೀತಿಯಲ್ಲಿ, ನಿಜವಾಗಿಯೂ, ಅದನ್ನು ಸರಿಪಡಿಸಲು ಎಂದು, ಉದಾಹರಣೆಗೆ, ಈ ಸಾಲು, ನಾವು ಸಹ ಆಗಲಿಲ್ಲ ಇದು ಏಕೆಂದರೆ ಪ್ರೋಗ್ರಾಂ ಬಹಳ ಬೇಗ ಅಪ್ಪಳಿಸಿತು. ಆದರೆ ನಾವು ಈ ಸರಿಪಡಿಸಲು ವೇಳೆ, ಏನು ಪರಿಣಾಮ ವೈ x = ಹೊಂದಿವೆ ಮಾಡುವ ಮಾಡುತ್ತದೆ? ಅಲ್ಲದೆ, ಇದು ಮೂಲಭೂತವಾಗಿ ನಲ್ಲಿ ವೈ ಅಂಕಗಳನ್ನು ಯಾವುದೇ ಮೌಲ್ಯವು X ನಲ್ಲಿ ಸೂಚಿಸುವ. ನಿಕ್ ಕಥೆ ಆದ್ದರಿಂದ, ಅಥವಾ Binky ಸ್ ಕಥೆ, ಎರಡೂ x ಮತ್ತು y ನಲ್ಲಿ ತೋರಿಸುವ ಮೆಮೊರಿ ಬಿಳಿ ಪಡೆ, ಆದ್ದರಿಂದ, ಅಂತಿಮವಾಗಿ, ನೀವು ವೈ ಮತ್ತೆ 13 ಸಮನಾಗಿರುತ್ತದೆ ನಟಿಸಲು ಇಲ್ಲ, ನೀವು 13 ಹಾಕುವ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ ಸೂಕ್ತ ಸ್ಥಳ. ಆದ್ದರಿಂದ ಈ ಸಾಲುಗಳನ್ನು ಎಲ್ಲಾ ನಿಖರವಾಗಿ ಅವು ಕಾನೂನುಬದ್ಧ, ಈ ಒಂದು ಹೊರತುಪಡಿಸಿ, ಇದು ನೀವು ಮೊದಲು ನಡೆಯದಿದ್ದಾಗ ವಾಸ್ತವವಾಗಿ ವೈ ಕೆಲವು ಮೌಲ್ಯವನ್ನು ಅದಕ್ಕೆ. ಈಗ thankfully, ನೀವು ಹಾಗೆ ಎಲ್ಲಾ ಮೂಲಕ ಕಾರಣ ಹೊಂದಿವೆ ನಿಮ್ಮ ಸ್ವಂತ ಸಮಸ್ಯೆಗಳು ಈ ರೀತಿಯ. ನನ್ನ ಮುಂದೆ ಹೋಗಿ ತೆರೆಯಲು ಅವಕಾಶ ಇಲ್ಲಿ ಒಂದು ಟರ್ಮಿನಲ್ ವಿಂಡೋವನ್ನು ಮತ್ತು ಕೇವಲ ಒಂದು ಕ್ಷಣ, ತೆರೆಯುತ್ತದೆ, ಸೂಪರ್ ಕಿರು ಪ್ರೋಗ್ರಾಂ ಸಹ ಅನಗತ್ಯವಾದ ರೀತಿಯ ಹೊಂದಿದೆ. ಇದು ಕೊಳಕು ಇಲ್ಲಿದೆ. ಇದು ಉಪಯುಕ್ತ ಏನು ಸಾಧಿಸಲು ಇಲ್ಲ. ಆದರೆ ಸಮಸ್ಯೆಗಳನ್ನು ಪ್ರದರ್ಶಿಸಲು ಇಲ್ಲ ಮೆಮೊರಿ, ಆದ್ದರಿಂದ ಅವರ ಅವಲೋಕಿಸೋಣ. ಮುಖ್ಯ, ಸೂಪರ್ ಸರಳ. ಇದು ಸ್ಪಷ್ಟವಾಗಿ ಒಂದು ಕಾರ್ಯ ಕರೆಗಳನ್ನು, ಎಫ್, ಮತ್ತು ನಂತರ 0 ಹಿಂದಿರುಗಿಸುತ್ತದೆ. ಇದು ಅವ್ಯವಸ್ಥೆ ಈ ವರೆಗೆ ರೀತಿಯ ಕಷ್ಟ. ಆದ್ದರಿಂದ ಮುಖ್ಯ ಇಲ್ಲಿಯವರೆಗೆ, ಬಹಳ ಒಳ್ಳೆಯದು. ಆದ್ದರಿಂದ F ಸಮಸ್ಯೆಯನ್ನುಂಟುಮಾಡುತ್ತದೆ. ಮತ್ತು ಕೇವಲ ಹೆಚ್ಚು ಪುಟ್ ಇಲ್ಲ ಹೆಸರಿಸಿದರು ಒಳಗೆ ಪ್ರಯತ್ನ ಇಲ್ಲಿ, ಕೋಡ್ ಗಮನ ಇರಿಸಿಕೊಳ್ಳಲು. ಎಫ್ ಎರಡು ರೇಖೆಗಳು. ಮತ್ತು ಈಗ ಏನು ನಡೆಯುತ್ತಿದೆ ಎಂಬುದನ್ನು ನೋಡೋಣ. ಆದ್ದರಿಂದ ಒಂದು ಕಡೆ ಇಲ್ಲಿ ಮತ್ತು ಮಾಡೋಣ ಹಿಂದಿನ ಈ ಸ್ಥಿರ ಒಂದು ಕಡೆ ಉದಾಹರಣೆಗೆ, ಎಡಬದಿಯಲ್ಲಿ ಆಗಿದೆ ಇಂಗ್ಲೀಷ್ ನಲ್ಲಿ, ಏನು ಮಾಡುತ್ತಿದ್ದಾರೆ? ಇದು ಆಗಿದೆ ಪ್ರೇಕ್ಷಕರು: ಒಂದು ಪಾಯಿಂಟರ್ ರಚಿಸಲಾಗುತ್ತಿದೆ. ಡೇವಿಡ್ ಜೆ MALAN: ಒಂದು ಪಾಯಿಂಟರ್ ರಚಿಸಲಾಗುತ್ತಿದೆ ಇಂಟ್ ಮತ್ತು ಕರೆ ಇದು X. ಆದ್ದರಿಂದ ಆ ಪೆಟ್ಟಿಗೆಗಳನ್ನು ಒಂದು ರಚಿಸಲು ನಾನು ಟಚ್ ಸ್ಕ್ರೀನ್ ಮೇಲೆ ರೇಖಾಚಿತ್ರ ಇರಿಸಿಕೊಳ್ಳಲು. ಈಗ, ಬಲಗೈ ಮೇಲೆ ಅಡ್ಡ malloc, ಕೋರ್ಸ್, ಮೆಮೊರಿ ಒಂದು ಪಾಲನ್ನು ನೀಡಲು ಇದೆ. ಮತ್ತು ಕೇವಲ ಸ್ಪಷ್ಟ ಎಂದು, ಹೇಗೆ ಹೆಚ್ಚು ಮೆಮೊರಿ ಸ್ಪಷ್ಟವಾಗಿ ಅದು ಹಂಚುತ್ತಾರೆ, ನೀವು ಕೇವಲ ರೀತಿಯ ಇಲ್ಲಿ ಗಣಿತದ ಹಾಗೆ? ಆದ್ದರಿಂದ 40 ಬೈಟ್ಗಳು ಇಲ್ಲಿದೆ. ನಾನು ತಿಳಿದಿರುವ ನಾನು ತಿಳಿದಿದ್ದರೆ ಮಾತ್ರ ಕಾರಣ ಇಂಟ್, CS50 ಉಪಕರಣಗಳಲ್ಲಿರುವ ಮೇಲೆ, ಕನಿಷ್ಠ, ನಾಲ್ಕು ಬೈಟ್ಸ್. ಆದ್ದರಿಂದ 10 ಬಾರಿ 4 40. ಆದ್ದರಿಂದ ಈ ಒಂದು X ಉಳಿಸುವುದು, ವಿಳಾಸ 40 ints ಆಫ್ ಮೊದಲು ಆ ಮತ್ತೆ ಬಾಹ್ಯಾಕಾಶ ಮಂಜೂರಾದ, ಹಿಂದೆ, ಬ್ಯಾಕ್, ಬ್ಯಾಕ್. ಮತ್ತು, malloc ಬಗ್ಗೆ ಪ್ರಮುಖ ಇಲ್ಲಿದೆ. ಇದು ಸ್ವಲ್ಪ ಮೆಮೊರಿ ತೆಗೆದುಕೊಳ್ಳುವುದಿಲ್ಲ ಇಲ್ಲಿ, ಒಂದು ಇಲ್ಲಿ ಸ್ವಲ್ಪ, ಸ್ವಲ್ಪ ಇಲ್ಲಿ. ಇದು, ನೀವು ಮೆಮೊರಿಯ ಒಂದು ಚಂಕ್ ನೀಡುತ್ತದೆ ನೇರ, ಕಾರ್ಯ ರಿಂದ ವ್ಯವಸ್ಥೆ. ಈಗ ಈ ಬಗ್ಗೆ ಏನು, X ಬ್ರಾಕೆಟ್ 10 0 ಸಮ? ಕೋಡ್ ನಿರಂಕುಶ ಲೈನ್. ಇದು ಉಪಯುಕ್ತ ಏನು ಸಾಧಿಸಲು ಇಲ್ಲ. ಆದರೆ, ಆಸಕ್ತಿದಾಯಕವಾಗಿದೆ X ಬ್ರಾಕೆಟ್ 10 ಕಾರಣ? ಹೌದು? ಪ್ರೇಕ್ಷಕರು: [ಕೇಳಿಸುವುದಿಲ್ಲ]? ಡೇವಿಡ್ ಜೆ MALAN: X ಬ್ರಾಕೆಟ್ 10 ಶೂನ್ಯ ಎಂದು ಹೊಂದಿಲ್ಲ. ಶೂನ್ಯ ವಿವರ ಮಾತ್ರ ಕಾರ್ಯರೂಪಕ್ಕೆ ಬರುತ್ತದೆ ತಂತಿಯನ್ನು, ಒಂದು ಸ್ಟ್ರಿಂಗ್ ಕೊನೆಯಲ್ಲಿ. ಆದರೆ ಒಂದು ಒಳ್ಳೆಯ ಆಲೋಚನೆ. ಹೇಗೆ ದೊಡ್ಡ ಸಹ, ಈ ಶ್ರೇಣಿಯನ್ನು ನಾನು 40 ಬೈಟ್ಗಳು ಮಂಜೂರು ಮಾಡಿದ ಆದರೂ? ಅದು ಸರಿ, ಒಂಬತ್ತು ಮೂಲಕ 0? ಇದು ಒಟ್ಟು, 10, ints ಇಲ್ಲಿದೆ. 40 ಬೈಟ್ಗಳು, ಆದರೆ 10, ints, 0 ಮೂಲಕ ಸೂಚ್ಯಂಕದೊಡನೆ 0. ಆದ್ದರಿಂದ X ಬ್ರಾಕೆಟ್ 10 ಏನು? ಇದು ವಾಸ್ತವವಾಗಿ ಕೆಲವು ಅಪರಿಚಿತ ತ್ಯಾಜ್ಯವನ್ನು ಮೌಲ್ಯವನ್ನು. ಇದು ನನಗೆ ಸೇರುವುದಿಲ್ಲ ಮೆಮೊರಿ ಈಸ್. ನಾನು ತಡೆದು ಮಾಡಬಾರದು ಬೈಟ್ ಸಂಖ್ಯೆ 41, 42, 43, 44. ನಾನು ತುಂಬಾ ಸ್ವಲ್ಪ ಪಡೆಯಲಿದ್ದೇನೆ. ಮತ್ತು ವಾಸ್ತವವಾಗಿ, ನಾನು ಚಲಿಸಿದರೆ ಈ ಪ್ರೋಗ್ರಾಂ, ಇದು ಚೆನ್ನಾಗಿ ಕುಸಿತಕ್ಕೆ ಇರಬಹುದು. ಆದರೆ ಕೆಲವೊಮ್ಮೆ, ನಾವು ಅದೃಷ್ಟ ಪಡೆಯುತ್ತೀರಿ. ಆದ್ದರಿಂದ ಕೇವಲ ಪ್ರದರ್ಶಿಸಲು ಹೀಗೆ ನಾನೂ ನೀವು ಮೊದಲು ಗೊತ್ತಿಲ್ಲ ಅದು ಅವರ ಈ ರನ್ ಅವಕಾಶ ಇಲ್ಲ. ಇದು ವಾಸ್ತವವಾಗಿ ಕುಸಿತಕ್ಕೆ ಮಾಡಲಿಲ್ಲ. ಆದರೆ ನಾನು ಈ, ಬದಲಿಸಿದರೆ ಉದಾಹರಣೆಗೆ, 1000 ಹಾಗೆ ನಿಜವಾಗಿಯೂ ಈ ಮಾಡಲು ಉದ್ದೇಶಪೂರ್ವಕ, ನೋಡೋಣ ನಾವು ಪಡೆಯುವುದು ಅದು ಈ ಬಾರಿ ಕುಸಿತಕ್ಕೆ. ಸರಿ, ಇದು ಕುಸಿತಕ್ಕೆ ಮಾಡಲಿಲ್ಲ. ಹೇಗೆ 100,000 ಬಗ್ಗೆ? ನ ಇದು ರೀಮೇಕ್ ಅವಕಾಶ, ಮತ್ತು ಈಗ ಇದು ಮರುಪ್ರದರ್ಶನ. ಸರಿ. ಥೂ. ಸರಿ. ಆದ್ದರಿಂದ ಸ್ಪಷ್ಟವಾಗಿ, ಮತ್ತೆ, ಈ ಮೆಮೊರಿ ವಿಂಗಡನೆಗಳು, ಆದ್ದರಿಂದ ಮಾತನಾಡಲು, ಆದ್ದರಿಂದ ನಾವು, ಸಮಂಜಸವಾಗಿ ದೊಡ್ಡದಾಗಿರುತ್ತವೆ ಮತ್ತೆ ಮತ್ತೆ ಅದೃಷ್ಟ ಪಡೆಯಲು. ಆದರೆ ಅಂತಿಮವಾಗಿ, ಒಮ್ಮೆ ನೀವು ಹಾಸ್ಯಾಸ್ಪದ ಪಡೆಯಲು ಮತ್ತು ನಿಜವಾಗಿಯೂ, ಪರದೆಯ ಮೇಲೆ ಔಟ್ ಹೋಗಲು ನೀವು ನಿಜಕ್ಕೂ ಮೆಮೊರಿ ಸ್ಪರ್ಶಕ್ಕೆ ನಿಜವಾಗಿಯೂ ನೀವು ಸೇರುವುದಿಲ್ಲ. ಆದರೆ ನಾನೂ, ಈ ದೋಷಗಳನ್ನು ರೀತಿಯ ಹೋಗುವ ಶ್ರಮಪಟ್ಟು ಎಂದು ನಿಮ್ಮ ಸ್ವಂತ ಲೆಕ್ಕಾಚಾರ. ಆದರೆ thankfully, ಪ್ರೋಗ್ರಾಮರ್ಗಳು ಎಂದು, ನಾವು ನಮಗೆ ಈ ಮಾಡಲು ಅವಕಾಶ ಉಪಕರಣಗಳು. ಆದ್ದರಿಂದ ಈ ಬಹುಶಃ, ಒಂದು Ugliest ಕಾರ್ಯಕ್ರಮಗಳ, GDB ಔಟ್ಪುಟ್ ಹೆಚ್ಚು ಕೂಡ uglier. ಆದರೆ ಯಾವಾಗಲೂ ಒಂದು ಸಾಲನ್ನು ಹೊಂದಿದೆ ಅಥವಾ ಸೂಪರ್ ಉಪಯುಕ್ತ ಎಂದು ಎರಡು. Valgrind, ಮಾಡುತ್ತದೆ ಎಂದು ಒಂದು ಪ್ರೋಗ್ರಾಂ ಆಗಿದೆ ನೀವು ಪ್ರೋಗ್ರಾಂ ದೋಷ, ಪ್ರತಿ ಸೆ, ಆದರೆ ಮೆಮೊರಿ ಸಂಬಂಧಿತ ಹೇಗೆ ಸಮಸ್ಯೆಗಳನ್ನು, ವಿಶೇಷವಾಗಿ. ಇದು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ನಿಮ್ಮ ಕೋಡ್ ರನ್ ನೀವು ಮತ್ತು ಕನಿಷ್ಠ ಎರಡು ವಿಷಯಗಳನ್ನು ನೋಡಿ. ಒಂದು, ನೀವು ಏನಾದರೂ ಮಾಡಲಿಲ್ಲ ಟಚ್ ಮೆಮೊರಿ ಆಕಸ್ಮಿಕ ನೀವು ಸೇರದ? ನೀವು ಆ ಸಂದರ್ಭಗಳಲ್ಲಿ ಹುಡುಕಲು ಸಹಾಯವಾಗುವ. ಮತ್ತು ಎರಡು, ಇದು ಸಹಾಯ ಮಾಡುತ್ತದೆ ನೀವು ಕರೆಯುವುದನ್ನು ಹೇಗೆ ಮೆಮೊರಿ ಸೋರುವಿಕೆ, ನಾವು ಹೊಂದಿರುವ ಸಂಪೂರ್ಣವಾಗಿ ನಿರ್ಲಕ್ಷಿಸಲಾಗಿದೆ ನಿಷ್ಕಪಟವಾಗಿ, ಕೆಲವು ಬಾರಿ ಮತ್ತು blissfully. ಆದರೆ ಎಲ್ಲಾ, ತಿರುಗಿದರೆ ಈ ಬಾರಿ, ಬಂದ ನೀವು GetString ರಲ್ಲಿ ಎಂದು ಬಂದಿದೆ ನಮ್ಮ ಕಾರ್ಯಕ್ರಮಗಳ ಅನೇಕ, ನೀವು ಕಾರ್ಯ ಕೇಳುತ್ತಿದ್ದೇವೆ ಮೆಮೊರಿಗೆ ವ್ಯವಸ್ಥೆಯ, ಆದರೆ ನೀವು ಯಾವುದೇ ಸ್ಮರಣಶಕ್ತಿ ನಿತ್ಯ ನೀಡುವ ಮತ್ತೆ, ಮಾಡುವ unalloc, ಅಥವಾ ಉಚಿತ, ಎಂದು ಕರೆಯಲ್ಪಡುತ್ತದೆ. ಇಲ್ಲ, ಏಕೆಂದರೆ ನಾವು ಎಂದಿಗೂ ಬಂದಿದೆ ಹಾಗೆ ನೀವು ಕೇಳಿದ. ಆದರೆ ಈ ಬಾರಿ, ಕಾರ್ಯಕ್ರಮಗಳು ನೀವು ಸಿ ಬರೆಯುವ ನಾವು ಮೆಮೊರಿ ಸೋರಿಕೆ ಮಾಡಲಾಗಿದೆ, ಕಾರ್ಯ ಕೇಳುವ ಹೆಚ್ಚು ಹೆಚ್ಚು ವ್ಯವಸ್ಥೆಯನ್ನು ತಂತಿಗಳು ಮತ್ತು ಸ್ಪಷ್ಟವಾಗಿ ವಿವರಿಸಲಾಗದ ಯಾ ಕೆಲಸಕ್ಕೆ ಬಾರದ ವಸ್ತು ಮೆಮೊರಿ, ಆದರೆ ಮರಳಿ ಹಸ್ತಾಂತರಿಸುವ ಎಂದಿಗೂ. ಈಗ ಈ ಒಂದು ಭಾಗ ಒಂದು ಸರಳೀಕರಣ, ಆದರೆ ನೀವು ಎಂದಿಗೂ ಬಂದಿದೆ ವೇಳೆ ನಿಮ್ಮ ಮ್ಯಾಕ್ ರನ್ ಅಥವಾ ಒಂದಷ್ಟು, ಆರಂಭಿಕ ನಿಮ್ಮ ಪಿಸಿ ಕಾರ್ಯಕ್ರಮಗಳು ಸಾಕಷ್ಟು, ಬಹುಶಃ, ಕಾರ್ಯಕ್ರಮಗಳು ಮುಚ್ಚುವ ಮತ್ತು ಸಹ ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ ಅಪ್ಪಳಿಸಿತು ಮಾಡಿಲ್ಲ, ಇದು, ತುಂಬಾ ನಿಧಾನವಾಗಿ ಪ್ರಕಟಗೊಳ್ಳಲಿದೆ ಇದು ನಿಜವಾಗಿಯೂ ಆದರೂ ಮೆಮೊರಿ ಬಹಳಷ್ಟು ಬಳಸಿ ಅಥವಾ ಸಂಪನ್ಮೂಲಗಳು, ಸಹ ನೀವು ಇಲ್ಲದಿದ್ದರೆ ಸಹ ಕೀಬೋರ್ಡ್ ಮುಟ್ಟುವ, ಎಂದು ಎಷ್ಟೊಂದು ಆದರೆ always-- ಸಾಧ್ಯವಾಗಲಿಲ್ಲ ಕಾರ್ಯಕ್ರಮಗಳು ನೀವು ಚಾಲನೆ ಮಾಡುತ್ತಿರುವಿರಿ ಎಂದು ತಮ್ಮನ್ನು ಮೆಮೊರಿ ಸೋರುವಿಕೆ. ಮತ್ತು ಅವರು ಹೆಚ್ಚು ಓಎಸ್ ಕೇಳುವ ಇರಿಸಿಕೊಳ್ಳಲು ಹೆಚ್ಚು ಮೆಮೊರಿ, ಆದರೆ ಮರೆತು ವಾಸ್ತವವಾಗಿ, ಇದು ಬಳಸದೇ ಆದರೆ ಅದಕ್ಕವರು ಮೆಮೊರಿ ತೆಗೆದುಕೊಳ್ಳುವ ಇದು ಬಯಸಬಹುದು ಇತರೆ ಕಾರ್ಯಕ್ರಮಗಳು. ಆದ್ದರಿಂದ ಸಾಮಾನ್ಯ ವಿವರಣೆ ಇಲ್ಲಿದೆ. ಈಗ ಇಲ್ಲಿ ಅಲ್ಲಿ Valgrind ನ ಇಲ್ಲಿದೆ ಔಟ್ಪುಟ್ ಸಂಪೂರ್ಣವಾಗಿ ಆಗಿದೆ ಆ ಕಡಿಮೆ ದುಷ್ಟ ಮತ್ತು ಸಮಾನವಾಗಿ ಹೆಚ್ಚು ಆರಾಮದಾಯಕ. ಆದರೆ ಕುತೂಹಲಕಾರಿ ವಿಷಯವನ್ನು ಇಲ್ಲಿ ಸರಿಯಾದ ಅಪ್. ನನಗೆ ಅಮಾನ್ಯವಾದ ಬರಹ ಹೇಳುತ್ತಿದೆ ಗಾತ್ರ ನಾಲ್ಕು, ಈ ಕಾರ್ಯಕ್ರಮದಲ್ಲಿ ನಡೆಯುತ್ತದೆ ನಿರ್ದಿಷ್ಟವಾಗಿ, memory.c ಸಾಲಿನ 21 ನಲ್ಲಿ. ನಾನು HM, ನಿಜಕ್ಕೂ, 21 ಲೈನ್ ಹೋಗಿ ಗಾತ್ರ ನಾಲ್ಕು ಅಮಾನ್ಯವಾದ ಬರಹ ಆಗಿದೆ. ಏಕೆ ಗಾತ್ರ ನಾಲ್ಕು? ಅಲ್ಲದೆ, ಈ ಸಂಖ್ಯೆ ಮತ್ತು ಇದು ಏನು ಆಗಿರಬಹುದು ಒಂದು ಇಂಟ್ ಹೊಂದಿದೆ. ಆದ್ದರಿಂದ ನಾಲ್ಕು ಬೈಟ್ಗಳು ಇಲ್ಲಿದೆ. ಹಾಗಾಗಿ ನಾಲ್ಕು ಬೈಟ್ಗಳು ಹಾಕುವ ಬಾಗುತ್ತೇನೆ ಅಲ್ಲಿ ಅವರು ಸೇರುವುದಿಲ್ಲ. ಏನು Valgrind, ಇಲ್ಲಿದೆ ವಾಸ್ತವವಾಗಿ ನನಗೆ ಹೇಳುತ್ತಿದೆ. ಇದಲ್ಲದೆ, ಇದು ತಿನ್ನುವೆ ನಾವು ನೋಡುತ್ತಾರೆ ಎಂದು, ಹೇಳಿ, ಈ ಭವಿಷ್ಯದ pset ರಲ್ಲಿ ಔಟ್ ಎಂದು, ವೇಳೆ ಮತ್ತು ನೀವು ವಾಸ್ತವವಾಗಿ ಮೆಮೊರಿ, ಸೋರಿಕೆಯಾದ ನಮೂದನೆಯನ್ನು ನಾನು ಎಂಬ ಮಾಡಿದ ಕಾರಣ ಹೊಂದಿವೆ , malloc, ಆದರೆ ನಾನು ವಾಸ್ತವವಾಗಿ ಹೊಂದಿವೆ ಉಚಿತ, ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಎಂದು, ಇದು ನಾವು ಅಂತಿಮವಾಗಿ ನೋಡುತ್ತಾರೆ , malloc ವಿರುದ್ಧವಾಗಿದೆ. ಈಗ, ನಾನು, ಒಂದು ಅಂತಿಮ ಉದಾಹರಣೆಗೆ ಭಾವಿಸುತ್ತೇನೆ. ಆದ್ದರಿಂದ ಈ ಒಂದು ಸ್ವಲ್ಪ ಹೆಚ್ಚು ಇಲ್ಲಿದೆ ರಹಸ್ಯ, ಆದರೆ ಬಹುಶಃ ಇಲ್ಲಿದೆ ದೊಡ್ಡ ಕಾರಣ , ಮೆಮೊರಿ ಎಚ್ಚರದಿಂದ ಮತ್ತು ಕಾರಣಕ್ಕಾಗಿ ಅನೇಕ ಕಾರ್ಯಕ್ರಮಗಳು ಮತ್ತು ಇಂದಿಗೂ / ಅಥವಾ ವೆಬ್ ಸರ್ವರ್ಗಳು,, ಎಲ್ಲೋ ಕೆಟ್ಟ ಜನರು ವಶದಲ್ಲಿದೆ ಅಂತರ್ಜಾಲದಲ್ಲಿ ಹೇಗಾದರೂ ಯಾರು ನಿಮ್ಮ ಪರಿಚಾರಕಕ್ಕೆ ನಕಲಿ ಪ್ಯಾಕೆಟ್ಗಳು ಕಳುಹಿಸುವ ನಿಮ್ಮ ಖಾತೆಗಳನ್ನು ರಾಜಿ ಪ್ರಯತ್ನ, ಅಥವಾ ನಿಮ್ಮ ಡೇಟಾವನ್ನು ತೆಗೆದುಕೊಳ್ಳಬಹುದು, ಅಥವಾ ಸಾಮಾನ್ಯವಾಗಿ ಒಂದು ಯಂತ್ರ ತೆಗೆದುಕೊಳ್ಳಬಹುದು. ಬಫರ್, ಮಾಹಿತಿ ಹೆಸರು, ಎಂದರೆ ಸೂಚಿಸುತ್ತದೆ ಅಲ್ಲ ಒಂದು ಇಂಟ್, ಆದರೆ ಒಂದು ಬಫರ್ ಸುರಿಯುತ್ತಿರುವ. ಮತ್ತು ಒಂದು ಬಫರ್ ಒಂದು ಅಲಂಕಾರಿಕ ಮಾರ್ಗವಾಗಿದೆ ಹೇಳುವ ಮೆಮೊರಿಯ ಒಂದು ಗುಂಪೇ ಇಲ್ಲಿದೆ. ಮತ್ತು ವಾಸ್ತವವಾಗಿ, ನಾನು ಎಂಬ ಸಾಲನ್ನು ಬದಲಿಗೆ ರು ಬಫರ್, ಮೊದಲು. ಇದು ಒಂದು ಬಫರ್ ವೇಳೆ ಏಕೆಂದರೆ, ಯೂಟ್ಯೂಬ್ ಅರ್ಥದಲ್ಲಿ ಹಾಗೆ, ಅಥವಾ ನೀವು ಒಂದು ವೀಡಿಯೊ ವೀಕ್ಷಿಸಿದ ಯಾವುದೇ ಸಮಯದಲ್ಲಿ, ನೀವು ಪದ ಬಫರಿಂಗಿಗೆ ನೋಡಿರಬಹುದು, ಡಾಟ್, ಡಾಟ್. ಇದು ನಂಬಲಾಗದಷ್ಟು ಕಿರಿಕಿರಿ ಉಂಟು ಮಾಡಿದೆ. ಮತ್ತು ಕೇವಲ ಅರ್ಥ ನಿಮ್ಮ ವೀಡಿಯೊ ಆಟಗಾರರ ಎಂದು ಸಾಕಷ್ಟು ಡೌನ್ಲೋಡ್ ಪ್ರಯತ್ನ ಬೈಟ್ಗಳು ಬೈಟ್ಗಳು, ಸಾಕಷ್ಟು ಅಂತರ್ಜಾಲದಿಂದ ವೀಡಿಯೊ ನಿಂದ. ಆದರೆ ನಿಧಾನವಾಗಿ, ಆದ್ದರಿಂದ ಪ್ರಯತ್ನಿಸುತ್ತಿರುವ ಅವುಗಳಲ್ಲಿ ಒಂದು ಗುಂಪೇ ಡೌನ್ಲೋಡ್ ಆದ್ದರಿಂದ ಒಂದು ಬಫರ್, ಒಂದು ಪಾತ್ರೆಯಲ್ಲಿ, ತುಂಬಲು ನೀವು ಇದು ನಂತರ ಸಾಕಷ್ಟು ಬೈಟ್ಗಳು , ನೀವು ವೀಡಿಯೊ ತೋರಿಸಲು ನಿರಂತರವಾಗಿ pausing ಇಲ್ಲದೆ. ಆದರೆ ನೀವು ಸಾಧ್ಯವಾದರೆ, ತಿರುಗಿದರೆ ಈ ದೊಡ್ಡ ಒಂದು ಬಫರ್ ಹೊಂದಿವೆ. ಆದರೆ ಈ ಸಾಕಷ್ಟು ಡೇಟಾ ಹಾಕಲು ಪ್ರಯತ್ನಿಸಿ ಇದು, ಮತ್ತು ಕೆಟ್ಟ ವಿಷಯಗಳು ಸಂಭವಿಸಬಹುದು. ಆದ್ದರಿಂದ ಉದಾಹರಣೆಗೆ, ನ ನೋಡೋಣ ಒಂದು ಉದಾಹರಣೆ ಈ ಅಂತಿಮ ಟೀಸರ್. ಈ ಇನ್ನೊಂದು ಕಾರ್ಯಕ್ರಮ ಎಂದು, ಮೊದಲ ನೋಟದಲ್ಲಿ, ಉಪಯುಕ್ತ ಸೂಪರ್ ಏನನ್ನೂ ಮಾಡುವುದಿಲ್ಲ. ಇದು ಒಂದು ಮುಖ್ಯ ಕಾರ್ಯ ಅವರಲ್ಲಿದೆ ಎಫ್, ಆ ಕಾರ್ಯ ಕರೆಗಳನ್ನು. ಮತ್ತು ಕಾರ್ಯ, ಎಫ್, ಇಲ್ಲಿ, ಹೊಂದಿದೆ ಚಾರ್ ರಚನೆಯ, ಗಾತ್ರ 12 ಸಿ ಕರೆಯಲಾಗುತ್ತದೆ. ತದನಂತರ ಈ ಬಳಸಿಕೊಂಡು ಹೊಸ ಕಾರ್ಯ strncpy ಎಂಬ. ಇದು, ಈ ಸರಳ, ತಿರುಗಿದರೆ ಕೋಡ್ ಆಫ್ ಸರಳ ರೇಖೆ, ಕೇವಲ ಎರಡು ಸಾಲುಗಳು ನಾವು, ನನ್ನ ಇಡೀ ಕಾರ್ಯಕ್ರಮದ ಮಾಡಿದ ಆದ್ದರಿಂದ, ನನ್ನ ಸಂಪೂರ್ಣ ಕಂಪ್ಯೂಟರ್, ಮತ್ತು ನನ್ನ ಬಳಕೆದಾರ ಖಾತೆಯನ್ನು, ಮತ್ತು ನನ್ನ ಹಾರ್ಡ್ ಯಾರಿಗೂ ಸಮರ್ಥವಾಗಿ ದುರ್ಬಲ ಚಾಲನೆ ತಿಳಿದಿರುವ ಮತ್ತು ಚಲಾಯಿಸಲು ಸಾಕಾಗಿದೆ ಒಂದು ಕೆಲವು ಆಜ್ಞಾ ಸಾಲಿನ ಈ ಪ್ರೋಗ್ರಾಂ ವಾದ. ಬೇರೆ ರೀತಿಯಲ್ಲಿ ಹೇಳುವುದಾದರೆ, ಈ ಕೆಟ್ಟ ವ್ಯಕ್ತಿ ನಮೂದಿಸುವ ಮೂಲಕ argvargv [1] ಒಳಗೆ ಇರಿಸುತ್ತದೆ ಕೀಬೋರ್ಡ್ ಅತ್ಯಂತ ವಿಶೇಷವಾಗಿ ರಚಿಸಲಾದ ನಲ್ಲಿ ಸ್ಟ್ರಿಂಗ್, ಎಬಿಸಿ, 123, ಆದರೆ ಮೂಲಭೂತವಾಗಿ, ಕಾರ್ಯಗತಗೊಳ್ಳುವ ಪ್ರತಿನಿಧಿಸುವ ಬೈನರಿ ಚಿಹ್ನೆಗಳು ಕೋಡ್, ಅವನು ಅಥವಾ ಅವಳು ಬರೆದ ಒಂದು ಪ್ರೋಗ್ರಾಂ, ಇದು ಈ ಸರಳ ಪ್ರೋಗ್ರಾಂ, ಜೊತೆ ಕಾರ್ಯಕ್ರಮಗಳು ಸಾವಿರಾರು ಪ್ರತಿನಿಧಿ ಎಂದು, daresay, ಇದೇ ಗುರಿಯಾಗುತ್ತಾರೆ ಅವನು ಅಥವಾ ಅವಳು ಅಂತಿಮವಾಗಿ ಎಲ್ಲಾ ಅಳಿಸಬಹುದು ನನ್ನ ಹಾರ್ಡ್ ಡ್ರೈವ್ ಕಡತಗಳನ್ನು, ಒಂದು ಪಡೆಯಲು ಅವನು ಅಥವಾ ಅವಳು ಇದರಿಂದ ಪ್ರಾಂಪ್ಟ್ ಮಿಟುಕಿಸುವುದು ತಮ್ಮ ಆಜ್ಞೆಯನ್ನು ಟೈಪಿಸಿ, ನಾನೇ ಕಡತಗಳನ್ನು ಇಮೇಲ್. ನಾನು ಮಾಡಬಹುದು ಎಂದು ಏನು, ಅವರು ಅಥವಾ ಅವರು ಈ ಕೋಡ್ ಮಾಡಬಹುದು. ನಾವು ಸ್ವಲ್ಪ ಇನ್ನೂ ಈ ಪರಿಹರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಮತ್ತು ವಾಸ್ತವವಾಗಿ, ಇದು ವಿಶೇಷವೇನು ಸ್ವಲ್ಪ ಚಿತ್ರವನ್ನು ಒಳಗೊಂಡಿರುತ್ತವೆ ಈ ರೀತಿಯ, ನಾವು ಶೀಘ್ರದಲ್ಲೇ ಹಿಂತಿರುಗಿ ವಿಲ್ ಇದು ಎಲ್ಲಾ ಉತ್ತಮ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು. ಆದರೆ ಇಂದು, ನ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ ಅವಕಾಶ , ಸ್ವಲ್ಪ ಹೆಚ್ಚು ಆಶಾದಾಯಕವಾಗಿ, ಇಲ್ಲಿದೆ ಅರ್ಥವಾಗುವ XKCD ಜೋಕ್, ನಾವು ಮುಂದಿನ ಬಾರಿ ಪುನರಾರಂಭಿಸಿ ರವರೆಗೆ. ಸರಿ. ಬುಧವಾರ ನೀವು ನೋಡಬಹುದು. [ಸಂಗೀತ] ಸ್ಪೀಕರ್: ಈಗ, ಆಳ Daven ಫರ್ನ್ಹ್ಯಾಂ ಮೂಲಕ ಆಲೋಚನೆಗಳು,. ಮೆಮೊರಿ ರಾಶಿಯನ್ನು ಹಾರಿ ಹಾಗೆ ಒಂದು ಭಾನುವಾರ ಮಧ್ಯಾಹ್ನ ಗೋಲ್ಡನ್ ಎಲೆಗಳು. ಗಾಳಿ ಬೀಸುತ್ತಿದೆ, ವಸ್ತುಗಳನ್ನೂ ಮೇಲಕ್ಕೆ ಎಸೆಯಲು ನಿಮ್ಮ ಓಹ್ hair--, ನಾನು ದಿನಗಳ when-- ಸಮೂಹವನ್ನು [ನಗು]