[Powered by Google Translate] [ವೀಕ್ 5]
[ಡೇವಿಡ್ ಜೆ Malan - ಹಾರ್ವರ್ಡ್ ವಿಶ್ವವಿದ್ಯಾಲಯ]
[ಈ CS50 ಹೊಂದಿದೆ. - CS50.TV]
>> ಈ CS50, ವಾರ 5 ಆಗಿದೆ.
ಇಂದು ಮತ್ತು ಈ ವಾರದಲ್ಲಿ, ನಾವು ನ್ಯಾಯ ಜಗತ್ತಿನ ಸ್ವಲ್ಪ ಪರಿಚಯಿಸಲು
ಸಮಸ್ಯೆ ಸಂದರ್ಭದಲ್ಲಿ 4 ಹೊಂದಿಸಿ.
ಇಲ್ಲಿ ಒಂದು ವಿಶೇಷ ಘಟನೆ ನಂತರ ಇರುವುದರಿಂದ ಇಂದು ಒಂದು ಸಂಕ್ಷಿಪ್ತ ಉಪನ್ಯಾಸ ನಡೆಯಲಿದೆ.
ನಾವು ಒಂದು ಪೀಕ್ ತೆಗೆದುಕೊಂಡು ವಿದ್ಯಾರ್ಥಿಗಳು ಮತ್ತು ಸಮಾನವಾಗಿ ಪೋಷಕರು ಇಂದು ಎರಡೂ ಕೀಟಲೆ ವಿಲ್
ದಿಗಂತದ ಮೇಲೆ ವಸ್ತುಗಳನ್ನು ಕೆಲವು.
>> ಅವುಗಳಲ್ಲಿ, ಸೋಮವಾರ ರ, ನೀವು ಕೆಲವು ಸಹಪಾಠಿಗಳನ್ನು ಹೊಂದಿರುತ್ತದೆ.
edX, ಹಾರ್ವರ್ಡ್ ಮತ್ತು ಓಪನ್ಕೋರ್ಸ್ವೇರ್ ಮತ್ತು ಹೆಚ್ಚಿನ MIT ಯ ಹೊಸ ಆನ್ಲೈನ್ ಪ್ರಾರಂಭ
ಸೋಮವಾರ ಬರುತ್ತಾರೆ ಅಂದರೆ ಸೋಮವಾರ, ಮೇಲೆ ಹಾರ್ವರ್ಡ್ ನ ಆವರಣದಲ್ಲಿ ಹಮ್ಮಿಕೊಳ್ಳುತ್ತಲಿದೆ
ನೀವು ಕಳೆದ ಎಣಿಕೆ ರ 86,000 ಹೆಚ್ಚುವರಿ ಸಹಪಾಠಿಗಳನ್ನು ಹೊಂದಿರುತ್ತದೆ
CS50 ನ ಉಪನ್ಯಾಸಗಳು ಮತ್ತು ವಿಭಾಗಗಳ ಜೊತೆ ಜೊತೆಗೆ ನಂತರ ಮಾಡಲಾಗುತ್ತದೆ
ಮತ್ತು ಪರಿಗಣನೆಗಳು ಮತ್ತು ಸಮಸ್ಯೆ ಸೆಟ್.
ಮತ್ತು ಈ ಭಾಗವಾಗಿ, ನೀವು CS50 ಈಗ CS50x ಉದ್ಘಾಟನಾ ವರ್ಗದ ಸದಸ್ಯರು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ.
ಈ ಭಾಗವಾಗಿ ಈಗ, ಜೊತೆಗೆ ಕೆಲವು ಸಮನಾಗಿ ಇರುತ್ತದೆ ಎಂದು ಅರ್ಥ.
ವಿದ್ಯಾರ್ಥಿಗಳು ಬೃಹತ್ ಸಂಖ್ಯೆಯ, ಇದಕ್ಕೆ ತಯಾರಾಗಬೇಕು,
ಹೇಳಲು ಇದು ಸಾಕಾಗುತ್ತದೆ ನಾವು 108 TFS ಮತ್ತು ಸಿಎಎಸ್ ಹೊಂದಿರುತ್ತವೆ ಸಹ
ನಾವು ವಿದ್ಯಾರ್ಥಿಗಳು 80,000 ಹಿಟ್ ಒಮ್ಮೆ ಸಾಕಷ್ಟು ಉತ್ತಮ ವಿದ್ಯಾರ್ಥಿಗಳು ಶಿಕ್ಷಕ ಅನುಪಾತ ಅಲ್ಲ.
ನಾವು, ಕೈಯಾರೆ ಹೊಂದಿಸುತ್ತದೆ ಅನೇಕ ಸಮಸ್ಯೆಯನ್ನು ಅದರ ಶ್ರೇಣಿಕೃತ ಮಾಡುವುದಕ್ಕೆ ಎಂದು ಹೋಗುತ್ತಿಲ್ಲ
ಆದ್ದರಿಂದ ಸಮಸ್ಯೆ ಸೆಟ್ ಈ ವಾರ ಪರಿಚಯಿಸಿತು CS50 ಚೆಕ್ ಆಗಿರುತ್ತದೆ
APPLIANCE ಒಂದು ಆಜ್ಞಾ ಸಾಲಿನ ಉಪಯುಕ್ತತೆಯನ್ನು ಎಂದು ಹೋಗುವ ಇದು
ಈ ವಾರಾಂತ್ಯದ ನಂತರ ಅಪ್ಡೇಟ್ ಒಮ್ಮೆ ನೀವು ಪಡೆಯುತ್ತೀರಿ ಎಂದು.
ನೀವು ನಿಮ್ಮ ಸ್ವಂತ pset ಒಂದು ಆಜ್ಞೆಯನ್ನು check50, ರನ್ ಸಾಧ್ಯವಾಗುತ್ತದೆ
ಮತ್ತು ನಿಮ್ಮ ಪ್ರೋಗ್ರಾಂ ಸರಿಯಾದ ಅಥವಾ ತಪ್ಪಾಗಿದೆ ಎಂಬುದರ ಬಗ್ಗೆ ತ್ವರಿತ ಪ್ರತಿಕ್ರಿಯೆ ಪಡೆಯುತ್ತೀರಿ
ನಾವು ಒದಗಿಸಿದ ವಿವಿಧ ವಿನ್ಯಾಸ ವಿಶೇಷಣಗಳು ಪ್ರಕಾರ.
ಸಮಸ್ಯೆ ಸೆಟ್ ನಿರ್ದಿಷ್ಟತೆಯು ಆ ಮೇಲೆ ಹೆಚ್ಚು.
CS50x ಸಹಪಾಠಿಗಳು ಹಾಗೂ ಬಳಸಿಕೊಂಡು ಇದನ್ನು ಮಾಡಲಾಗುತ್ತದೆ.
>> ಸಮಸ್ಯೆ ಸೆಟ್ 4, ಎಲ್ಲಾ ಫರೆನ್ಸಿಕ್ಸ್ ಸುಮಾರು
ಮತ್ತು ಈ pset ನಿಜವಾಗಿಯೂ ಕೆಲವು ನಿಜ ಜೀವನದ ಸಂಗತಿಗಳನ್ನು ಸ್ಫೂರ್ತಿ
ಆ ಮೂಲಕ ನಾನು ಪದವಿ ಶಾಲೆಯಲ್ಲಿ ಆಗ ನಾನು ಆ ಕೂಡಿಟ್ಟರು
ಮಿಡ್ಲ್ಸೆಕ್ಸ್ ಕೌಂಟಿಯ ಜಿಲ್ಲಾ ನ್ಯಾಯವಾದಿಗಳ ಕಚೇರಿಗೆ ನ್ಯಾಯ ಕೆಲಸ ಜೊತೆ
ಅವರ ಪ್ರಮುಖ ನ್ಯಾಯ ಪರೀಕ್ಷಕನ ಜೊತೆ.
ನಾನು ಕೆಲವು ವಾರಗಳ ಹಿಂದೆ ಪ್ರಸ್ತಾಪಿಸಿದ್ದಾರೆ ಯೋಚಿಸುತ್ತಾರೆ ಎಂಬುದನ್ನು ಇದು, ತನ್ನ ಪಾಲನ್ನು
ಮಾಸ್ ರಾಜ್ಯ ಪೊಲೀಸ್ ಅಥವಾ ಇತರರು ರಲ್ಲಿ ಬರುತ್ತದೆ ಇದೆ
ಅವರು, ಹಾರ್ಡ್ ಡ್ರೈವ್ ಮತ್ತು CD ಗಳು ಮತ್ತು ಫ್ಲಾಪಿ ಡಿಸ್ಕ್ಗಳು ​​ಮತ್ತು ನಂತಹ ವಿಷಯಗಳನ್ನು ಬಿಟ್ಟು ಎಂದು
ಮತ್ತು ನಂತರ ನ್ಯಾಯ ಕಚೇರಿ ಗುರಿ ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವ ಆಗಿತ್ತು
ಇರಲಿಲ್ಲ ಅಥವಾ ಕೆಲವು ರೀತಿಯ ಪುರಾವೆಯಲ್ಲ ಎಂದು.
ಈ ಸ್ಪೆಷಲ್ ಇನ್ವೆಸ್ಟಿಗೇಶನ್ಸ್ ಯುನಿಟ್, ಅದು ಬಿಳಿ ಕಾಲರ್ ಅಪರಾಧ ಆಗಿತ್ತು.
ಇದು ಅಪರಾಧಗಳಿಗೆ ಹೆಚ್ಚು ತೊಂದರೆ ರೀತಿಯ, ಡಿಜಿಟಲ್ ಮಾಧ್ಯಮದ ರೀತಿಯ ಒಳಗೊಂಡ ಏನು ಆಗಿತ್ತು.
ಹಲವು ಜನರು ಹೇಳುವ ಇಮೇಲ್ ಬರೆಯಲು ಎಂದು, "ನಾನು ಅದನ್ನು ಮಾಡಿದರು." ಎಂದು ತಿರುಗುತ್ತದೆ
ಆದ್ದರಿಂದ ಸ್ವಲ್ಪ ಹೆಚ್ಚಾಗಿ, ಈ ನ್ಯಾಯ ಹುಡುಕಾಟಗಳು, ಎಲ್ಲಾ ಹೆಚ್ಚು ಹಣ್ಣು ಎದ್ದು ಬರದ
ಆದರೆ ಕೆಲವೊಮ್ಮೆ ಜನರು ಇಮೇಲ್ಗಳನ್ನು ಬರೆಯಬೇಕಿತ್ತು.
ಆದ್ದರಿಂದ ಕೆಲವೊಮ್ಮೆ, ಪ್ರಯತ್ನಗಳು ಬಹುಮಾನ ನೀಡಲಾಗುತ್ತಿತ್ತು.
>> ಆದರೆ ಈ ನ್ಯಾಯ pset ನಾವು pset4 ಗ್ರಾಫಿಕ್ಸ್ ಸ್ವಲ್ಪ ಪರಿಚಯಿಸುವ ಪಡೆದುಕೊಳ್ಳುತ್ತೀರಿ ಅಪ್ ಕಾರಣವಾಗುತ್ತದೆ.
ನೀವು ಬಹುಶಃ ಲಘುವಾಗಿ ಈ ವಸ್ತುಗಳನ್ನು ಪಡೆಯಲು - JPEGs, GIF ಗಳನ್ನು ಬಳಸಬಹುದಾಗಿದೆ, ಮತ್ತು ಹಾಗೆ - ಈ ದಿನಗಳಲ್ಲಿ.
ಆದರೆ ನೀವು ಅದರ ಬಗ್ಗೆ ನಿಮಗೆ ಅನಿಸಿದರೆ, ಚಿತ್ರವನ್ನು ಹೆಚ್ಚು ರಾಬ್ ಮುಖದ ಹಾಗೆ,
ಚುಕ್ಕೆಗಳು ಅಥವಾ ಪಿಕ್ಸೆಲ್ ಒಂದು ಅನುಕ್ರಮ ರೂಪುಗೊಳ್ಳಬಹುದು.
ರಾಬ್ ಮುಖದ ಸಂದರ್ಭದಲ್ಲಿ, ಬಣ್ಣಗಳ ಎಲ್ಲಾ ರೀತಿಯ, ಇಲ್ಲ
ಮತ್ತು ನಾವು, ಇಲ್ಲದಿದ್ದರೆ ಪಿಕ್ಸೆಲ್ಗಳು ಎಂದು ಮಾಲಿಕ ಚುಕ್ಕೆಗಳು, ನೋಡಲು ಪ್ರಾರಂಭಿಸಿದರು
ಒಮ್ಮೆ ನಾವು ಸೈನ್ ಜೂಮ್ ಆರಂಭಿಸಿದರು
ಆದರೆ ವಿಶ್ವದ ಒಂದು ಬಿಟ್ ಸರಳಗೊಳಿಸುವ ಮತ್ತು ಕೇವಲ ಇಲ್ಲಿ ಕಪ್ಪು ಮತ್ತು ಬಿಳಿ ರಾಬ್ ಹೇಳುತ್ತಾರೆ ವೇಳೆ,
ಕಪ್ಪು ಮತ್ತು ಬಿಳಿ ಪ್ರತಿನಿಧಿಸಲು, ನಾವು ಅವಳಿ ಬಳಸಬಹುದು.
ಮತ್ತು ನಾವು ಅವಳಿ ಬಳಸಲು ನೀನು ವೇಳೆ, 1 ಅಥವಾ 0, ನಾವು ಇದೇ ಚಿತ್ರವನ್ನು ವ್ಯಕ್ತಪಡಿಸಬಹುದು
ಬಿಟ್ಗಳು ಈ ಮಾದರಿಯ ರಾಬ್ ನ ನಗುತ್ತಿರುವ ಮುಖದ.
11000011 ಬಿಳಿ, ಬಿಳಿ, ಕಪ್ಪು, ಕಪ್ಪು, ಕಪ್ಪು, ಕಪ್ಪು, ಬಿಳಿ, ಬಿಳಿ ಪ್ರತಿನಿಧಿಸುತ್ತದೆ.
ಮತ್ತು ಆದ್ದರಿಂದ, ವರ್ಣಮಯ ಛಾಯಾಚಿತ್ರಗಳನ್ನು ಬಗ್ಗೆ ಆರಂಭಿಸಲು ನಂತರ ಭಾರಿ ಅಧಿಕ ಅಲ್ಲ
ನೀವು ಫೇಸ್ಬುಕ್ ಮೇಲೆ ನೋಡಿ ಅಥವಾ ಡಿಜಿಟಲ್ ಕ್ಯಾಮೆರಾದೊಂದಿಗೆ ತೆಗೆದುಕೊಳ್ಳಲು ಬಯಸುವ ವಿಷಯಗಳನ್ನು.
ಆದರೆ ಇದು ಖಂಡಿತವಾಗಿ ಬಣ್ಣಗಳ ಬಂದಾಗ, ನೀವು ಹೆಚ್ಚಿನ ಬಿಟ್ಗಳು ಅಗತ್ಯವಿದೆ.
ಮತ್ತು ಛಾಯಾಚಿತ್ರಗಳನ್ನು ಜಗತ್ತಿನ ಸಾಮಾನ್ಯವಾಗಿದೆ, ಆದರೆ 1-ಬಿಟ್ ಬಣ್ಣ ಬಳಸುವುದು
ಈ ಸೂಚಿಸುತ್ತದೆ, ಆದರೆ 24 ಬಿಟ್ ಬಣ್ಣ, ನೀವು ವಾಸ್ತವವಾಗಿ ಬಣ್ಣಗಳನ್ನು ಲಕ್ಷಾಂತರ ಪಡೆಯಲು ಅಲ್ಲಿ. ಮಾಹಿತಿ
ನಾವು ರಾಬ್ ಕಣ್ಣಿನ ಮೇಲೆ ಜೂಮ್ ಮಾಡಿದಾಗ ವಿಷಯದಲ್ಲಿ,
ವಿಭಿನ್ನ ವರ್ಣರಂಜಿತ ಸಾಧ್ಯತೆಗಳನ್ನು ಲಕ್ಷಾಂತರ ಯಾವುದೇ ಸಂಖ್ಯೆ.
ಆದ್ದರಿಂದ ನಾವು, ಸಮಸ್ಯೆ ಸೆಟ್ 4 ಅಲ್ಲದೇ ದರ್ಶನ ಈ ಪರಿಚಯಿಸಲು ವಿಲ್
ಏಕೆಂದರೆ ಇಲ್ಲಿ ಶುಕ್ರವಾರ ಅವರ ಉಪನ್ಯಾಸ ವಾಡಿಕೆಯ 2:30 ಬದಲಿಗೆ ಮಧ್ಯಾಹ್ನ 3:30 ನಲ್ಲಿ ಇಂದು ವಾಗಿರುತ್ತದೆ.
ಆದರೆ ವೀಡಿಯೊ ಸಾಮಾನ್ಯ ನಾಳೆ ಮಾಹಿತಿ ಆನ್ಲೈನ್ನಲ್ಲಿ ಕಾಣಿಸುತ್ತದೆ.
>> ನಾವು ಇನ್ನೊಂದು ಫೈಲ್ ಸ್ವರೂಪಕ್ಕೆ ನೀವು ಪರಿಚಯಿಸಲು ಮಾಡುತ್ತೇವೆ.
ಈ ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ, ಮೊದಲಿಗೆ ಬೆದರಿಸುವ ನೋಡಲು ಅರ್ಥ ಇದೆ
ಆದರೆ ಈ ಒಂದು ಸಿ struct ಕೇವಲ ಕೆಲವು ದಾಖಲೆಗಳನ್ನು ಹೊಂದಿದೆ.
ಇದು ಮೈಕ್ರೋಸಾಫ್ಟ್ ವರ್ಷಗಳ ಹಿಂದೆ ಈ ರೂಪದಲ್ಲಿ ಜನಪ್ರಿಯಗೊಳಿಸಲು ಸಹಕಾರಿಯಾಯಿತು ಎಂದು ತಿರುಗುತ್ತದೆ
ಬಿಟ್ಮ್ಯಾಪ್ ಫೈಲ್ ಸ್ವರೂಪ, BMP, ಮತ್ತು ಈ ಒಂದು ಸೂಪರ್ ಸರಳ, ವರ್ಣರಂಜಿತ ಚಿತ್ರಾತ್ಮಕ ಕಡತ ಸ್ವರೂಪ ಎಂದು ಕರೆದಿದೆ
ಆ ಡೆಸ್ಕ್ ಮೇಲೆ ವಾಲ್ಪೇಪರ್ಗಳಿಗಾಗಿ ಕೆಲವೊಮ್ಮೆ ಇನ್ನೂ ಒಂದಷ್ಟು ಕಾಲ ಬಳಸಲ್ಪಟ್ಟಿತು.
ನೀವು Windows XP ಮತ್ತು ಬೆಟ್ಟ ಗುಡ್ಡಗಳು ಮತ್ತು ನೀಲಿ ಆಕಾಶ ಮತ್ತೆ ಭಾವಿಸಿದರೆ,
ಎಂದು ವಿಶಿಷ್ಟವಾಗಿ BMP ಅಥವಾ ಬಿಟ್ಮ್ಯಾಪ್ ಚಿತ್ರ ಆಗಿತ್ತು.
ಅವರು ಸ್ವಲ್ಪ ಹೆಚ್ಚು ಸಂಕೀರ್ಣತೆ ಏಕೆಂದರೆ ಬಿಟ್ಮ್ಯಾಪ್ಗಳನ್ನು ನಮಗೆ ಆನಂದದಾಯಕವಾಗುವ.
ಇದು ಸಾಕಷ್ಟು 0 ಸೆ ಮತ್ತು 1 ಈ ಗ್ರಿಡ್ ಸರಳ ಮಾಹಿತಿ ಇಲ್ಲಿದೆ.
ಬದಲಿಗೆ, ನೀವು ಕಡತದ ಆರಂಭದಲ್ಲಿ ಒಂದು ಹೆಡರ್ ವಿಷಯಗಳನ್ನು ಹೊಂದಿರುತ್ತವೆ.
ಆದ್ದರಿಂದ ಒಳಗೆ ಒಂದು. BMP ಫೈಲ್ ಇತರೆ ಪದಗಳಲ್ಲಿ 0 ಸೆ ಮತ್ತು 1 ಗಳ ಇಡೀ ಗುಂಪೇ, ಆಗಿದೆ
ಆದರೆ ಕೆಲವು ಹೆಚ್ಚುವರಿ 0 ಸೆ ಮತ್ತು 1 ಇಲ್ಲ.
ಮತ್ತು ವರ್ಷಗಳ ಕಾಲ ಲಘುವಾಗಿ ನಾವು ಬಹುಶಃ ತೆಗೆದುಕೊಳ್ಳಬಹುದು ಎಂದು ತಿರುಗುತ್ತದೆ -
. ಡಾಕ್ ಅಥವಾ. xls ಅಥವಾ. MP3, ರೀತಿಯ ಕಡತ ಸ್ವರೂಪಗಳನ್ನು. MP4, ಯಾವುದೇ ಕಡತ ಸ್ವರೂಪಗಳು
ನಿಮಗೆ ಪರಿಚಿತವಾಗಿರುವ ಆ - ಎಂಬುದನ್ನು ಇದು, ಒಂದು ಕಡತ ಸ್ವರೂಪ ಎಂದು ಅರ್ಥವೇನು
ದಿನದ ಕೊನೆಯಲ್ಲಿ ಈ ಕಡತಗಳನ್ನು ಎಲ್ಲಾ ನಾವು 0 ಸೆ ಮತ್ತು 1 ಹೊಂದಿರುತ್ತವೆ ಬಳಸಲು ಕಾರಣ.
ಮತ್ತು ಬಹುಶಃ ಆ 0 ಸೆ ಮತ್ತು 1 ASCII ಮೂಲಕ ಎಬಿಸಿ ಅಥವಾ ಹಾಗೆ ಪ್ರತಿನಿಧಿಸಲು
ಆದರೆ ದಿನದ ಕೊನೆಯಲ್ಲಿ, ಇದು ಇನ್ನೂ ಕೇವಲ 0 ಸೆ ಮತ್ತು 1 ರ.
ಆದ್ದರಿಂದ ಮಾನವರು ಕೇವಲ ಸಾಂದರ್ಭಿಕವಾಗಿ ಒಂದು ಹೊಸ ಕಡತ ಸ್ವರೂಪದ ಆವಿಷ್ಕರಿಸಲು ನಿರ್ಧರಿಸಿದಲ್ಲಿ
ಅವರು ಬಿಟ್ಸ್ ಮಾದರಿಗಳು ವಾಸ್ತವವಾಗಿ ಅರ್ಥವೇನು ಪ್ರಮಾಣಕವಾಗಿಸಲು ಅಲ್ಲಿ.
ಮತ್ತು ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಜನರಾಗಿದ್ದರು ಬಿಟ್ಮ್ಯಾಪ್ ಕಡತ ಸ್ವರೂಪದ ವಿನ್ಯಾಸಗೊಳಿಸಿದ್ದಂತಹ
ಒಂದು ಬಿಟ್ಮ್ಯಾಪ್ ಫೈಲ್ ತುಂಬಾ ಮೊದಲ ಬೈಟ್ ನಲ್ಲಿ, ಮಾಹಿತಿ ಇಲ್ಲ ಆಫ್ಸೆಟ್ 0 ಸೂಚಿಸಲಾಗುತ್ತದೆ ಹೇಳಿದರು,
ಕೆಲವು cryptically ಹೆಸರಿನ ವೇರಿಯಬಲ್ ಎಂಬ bfType, ಇರುವಂತೆ ಹೋಗುತ್ತದೆ
ಕೇವಲ ಬಿಟ್ಮ್ಯಾಪ್ ಕಡತ ರೀತಿಯ ನಿಂತಿರುವ, ಏನು ಬಿಟ್ಮ್ಯಾಪ್ ಫೈಲ್ ಇದು.
ನೀವು 2 ಆಫ್ಸೆಟ್ ಎಂದು ಎರಡನೇ ಸಾಲು, ಬೈಟ್ ಸಂಖ್ಯೆ 2, ನಿಂದ ಬಹುಶಃ ನಿರ್ಣಯಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ
ಯಾವ ಪ್ರತಿನಿಧಿಸುವ 0 ಸೆ ಮತ್ತು 1 ಗಳ ಒಂದು ಮಾದರಿಯನ್ನು ಹೊಂದಿದೆ? ಏನೋ ಗಾತ್ರವನ್ನು.
ಮತ್ತು ಅಲ್ಲಿಂದ ಮೇಲೆ ಹೋಗುತ್ತದೆ.
ಆದ್ದರಿಂದ ಸಮಸ್ಯೆ ಸೆಟ್ 4, ನೀವು ಈ ವಿಷಯಗಳನ್ನು ಕೆಲವು ಮೂಲಕ ನಡೆದರು ಪಡೆದುಕೊಳ್ಳುತ್ತೀರಿ.
ನಾವು ಎಲ್ಲಾ ಬಗ್ಗೆ caring ಅಪ್ ಕೊನೆಗೊಂಡಿಲ್ಲ ಕಾಣಿಸುತ್ತದೆ.
ಆದರೆ ಬೈಟ್ 54 ಸುಮಾರು ಆಸಕ್ತಿದಾಯಕ ಪಡೆಯಲು ಪ್ರಾರಂಭವಾಗುತ್ತದೆ ಗಮನಕ್ಕೆ: rgbtBlue, ಹಸಿರು, ಮತ್ತು ಕೆಂಪು.
ನೀವು ಆಲಿಸಿದ ನೀವು ಪ್ರಥಮಾಕ್ಷರಿ RGB - ಕೆಂಪು, ಹಸಿರು, ನೀಲಿ - ಈ ಆ ಉಲ್ಲೇಖವಾಗಿತ್ತು
ಇದನ್ನು ತಿರುಗುತ್ತದೆ ಏಕೆಂದರೆ ನೀವು ಮಳೆಬಿಲ್ಲಿನ ಎಲ್ಲಾ ಬಣ್ಣಗಳ ಪೇಂಟ್
ಕೆಂಪು ಮತ್ತು ನೀಲಿ ಮತ್ತು ಹಸಿರು ಕೆಲವು ಸಂಯೋಜನೆಯೊಂದಿಗೆ.
ಮತ್ತು ವಾಸ್ತವವಾಗಿ, ಕೋಣೆಯಲ್ಲಿ ಪೋಷಕರು ಆರಂಭಿಕ ಪ್ರಕ್ಷೇಪಕಗಳು ಕೆಲವು ಮರುಪಡೆಯಲು ಇರಬಹುದು.
ಈ ದಿನಗಳಲ್ಲಿ, ನೀವು ಕೇವಲ ಒಂದು ಪ್ರಕಾಶಮಾನವಾದ ಬೆಳಕಿನ ಒಂದು ಮಸೂರದ ಹೊರಬರುತ್ತಿರುವ ನೋಡಿ
ಆದರೆ ದಿನದಲ್ಲಿ ನೀವು, ಕೆಂಪು ಮಸೂರ, ನೀಲಿ ಲೆನ್ಸ್, ಮತ್ತು ಹಸಿರು ಮಸೂರ ಹೊಂದಿತ್ತು
ಒಟ್ಟಾಗಿ ಅವರು ಸ್ಕ್ರೀನ್ ಗುರಿ ಮತ್ತು ವರ್ಣರಂಜಿತ ಚಿತ್ರವನ್ನು ರಚಿಸಿದರು.
ಮತ್ತು ಸ್ವಲ್ಪ ಹೆಚ್ಚಾಗಿ, ಮಧ್ಯಮ ಶಾಲೆಗಳು ಮತ್ತು ಪ್ರೌಢಶಾಲೆಗಳು ಆ ಮಸೂರಗಳು ಹೊಂದಿರುತ್ತದೆ
ಎಂದಿಗೂ ಆ ಸ್ವಲ್ಪ ವಕ್ರವಾಗಿ, ಆದ್ದರಿಂದ ನೀವು ಎರಡು ಅಥವಾ ಮೂರು ಚಿತ್ರಗಳನ್ನು ನೋಡುವ ರೀತಿಯ.
ಆದರೆ ಆ ಐಡಿಯಾ. ನೀವು ಒಂದು ಚಿತ್ರಣ ಕೆಂಪು ಮತ್ತು ಹಸಿರು ಮತ್ತು ನೀಲಿ ಬೆಳಕಿನ ಹೊಂದಿತ್ತು.
ಮತ್ತು ಅದೇ ತತ್ವವನ್ನು ಕಂಪ್ಯೂಟರ್ಗಳಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ.
>> ಆದ್ದರಿಂದ ಸಮಸ್ಯೆ ನಿಮ್ಮನ್ನು ನಂತರ ಸವಾಲುಗಳನ್ನು ನಡುವೆ ಸೆಟ್ 4 ಕೆಲವು ವಿಷಯಗಳನ್ನು ಮುಂದುವರೆಸುತ್ತೇವೆ.
ಒಂದು ವಾಸ್ತವವಾಗಿ ಚಿತ್ರವನ್ನು ಮರುಗಾತ್ರಗೊಳಿಸಲು ಹೊಂದಿದೆ, 0 ಸೆ ಮತ್ತು 1 ಗಳ ಒಂದು ಮಾದರಿಯನ್ನು ತೆಗೆದುಕೊಂಡು,
, 0 ಸೆ ಮತ್ತು 1 ಗಳ ಭಾಗಗಳಲ್ಲಿ ಒಂದು ರಚನೆ ಯಾವ ಇಂತಹ ಪ್ರತಿನಿಧಿಸುವ ಔಟ್ ಲೆಕ್ಕಾಚಾರ
ರೆಡ್ಸ್, ಬ್ಲೂಸ್, ಹಸಿರು - ಮತ್ತು ನಂತರ ಪಿಕ್ಸೆಲ್ಗಳು ಪುನರಾವರ್ತಿಸಲು ಹೇಗೆ ಲೆಕ್ಕಾಚಾರ -
ಒಳಗೆ ಆದ್ದರಿಂದ ಚಿತ್ರವನ್ನು ಆರಂಭದಲ್ಲಿ ಈ ರೀತಿ ನೋಡಿದಾಗ,
ಆ ನಂತರ ಬದಲಿಗೆ ಈ ರೀತಿ ಇರಬಹುದು.
ಇತರ ಸವಾಲುಗಳನ್ನು ನಡುವೆ ತುಂಬಾ ನೀವು ನ್ಯಾಯ ಚಿತ್ರ ಹಸ್ತಾಂತರಿಸುವಾಗ ಮಾಡುತ್ತೇನೆ ಎಂದು ಹೋಗುತ್ತದೆ
ಡಿಜಿಟಲ್ ಕ್ಯಾಮೆರಾ ಒಂದು ನಿಜವಾದ ಕಡತದ.
ಮತ್ತು ಕ್ಯಾಮೆರಾ ಮೇಲೆ, ವನ್ಸ್ ಅಪಾನ್ ಎ ಟೈಮ್, ಫೋಟೋಗಳನ್ನು ಇಡೀ ಗುಂಪೇ ಇತ್ತು.
ಸಮಸ್ಯೆಯನ್ನು ನಾವು ಆಕಸ್ಮಿಕವಾಗಿ ಅಳಿಸಿಹಾಕಿತು ಅಥವಾ ಚಿತ್ರವನ್ನು ಹೇಗಾದರೂ ಭ್ರಷ್ಟಗೊಂಡಿದೆ ಬೀರಿತ್ತು.
ಬ್ಯಾಡ್ ಥಿಂಗ್ಸ್ ಡಿಜಿಟಲ್ ಕ್ಯಾಮೆರಾಗಳಲ್ಲಿ ಸಂಭವಿಸಬಹುದು.
ಆದ್ದರಿಂದ ಬೇಗ, ನೀವು ಆ ಕಾರ್ಡಿನ 0 ಸೆ ಮತ್ತು 1 ಆಫ್ ಎಲ್ಲಾ ನಕಲು
4 ಹೊಂದಿಸಿ ಒಂದು ದೊಡ್ಡ ಫೈಲ್ ಅವರನ್ನು ಎಲ್ಲಾ ಉಳಿಸಲಾಗಿದೆ, ಮತ್ತು ನಂತರ ನಾವು ಸಮಸ್ಯೆ ನಿಮ್ಮನ್ನು ಅವುಗಳನ್ನು ಹ್ಯಾಂಡ್ ವಿಲ್
ನೀವು ಆದ್ದರಿಂದ ಆ JPEGs ಎಲ್ಲಾ ಚೇತರಿಸಿಕೊಳ್ಳಲು ಅದು ಸಿ ಬರೆಯುವ ಒಂದು ಪ್ರೊಗ್ರಾಮ್ ಇದರಿಂದ.
ಮತ್ತು ಅವರು ಒಂದು ಸಂಕೀರ್ಣ ಕಡತ ಸ್ವರೂಪದ ಸ್ವಲ್ಪ ಮಾಡಿದ್ದರೂ ಸಹ, ಆ JPEGs ತಿರುಗಿದರೆ -
ಅವರು ಹೆಚ್ಚು ಸಂಕೀರ್ಣ ಇಲ್ಲಿ ಈ ನಗುತ್ತಿರುವ ಮುಖವನ್ನು ಹೆಚ್ಚು ಆರ್ -
ಪ್ರತಿ JPEG 0 ಸೆ ಮತ್ತು 1 ಅದೇ ಮಾದರಿಗಳನ್ನು ಆರಂಭವಾಗುತ್ತದೆ ಎಂದು ತಿರುಗುತ್ತದೆ.
ಆದ್ದರಿಂದ ಬಳಸಿ, ಅಂತಿಮವಾಗಿ, ಲೂಪ್ ಅಥವಾ ಅಂತಹುದೇ ಒಂದು ಸಮಯದಲ್ಲಿ ಲೂಪ್ ಅಥವಾ,
ನೀವು ಈ ನ್ಯಾಯ ಚಿತ್ರದಲ್ಲಿ ಎಲ್ಲಾ 0 ಸೆ ಮತ್ತು 1 ಮೇಲೆ ತಿರುಗಿ ಮಾಡಬಹುದು
ಮತ್ತು ನೀವು ಸಮಸ್ಯೆ ಸೆಟ್ ವಿವರಣೆಯನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ ಎಂದು ವಿಶೇಷ ಮಾದರಿಯನ್ನು ನೋಡಿ ಪ್ರತಿ ಬಾರಿ,
ನೀವು, ಅತ್ಯಂತ ಹೆಚ್ಚಿನ ಸಂಭವನೀಯತೆಯನ್ನು ಹೊಂದಿರುವ, ಒಂದು JPEG ಆರಂಭದಲ್ಲಿ ಇಲ್ಲಿ ಪಡೆದುಕೊಳ್ಳಬಹುದು.
ಮತ್ತು ತಕ್ಷಣ ನೀವು ಅದೇ ಮಾದರಿಯನ್ನು ಬೈಟ್ಗಳು ಕೆಲವು ಸಂಖ್ಯೆಯನ್ನು ಕಂಡು ಮಾಹಿತಿ
ಅಥವಾ ಕಿಲೋಬೈಟ್ಗಳಷ್ಟು ಅಥವಾ ಮೆಗಾಬೈಟ್ ನಂತರ, ನೀವು ಇಲ್ಲಿ ಪಡೆದುಕೊಳ್ಳಬಹುದು, ಎರಡನೇ jpeg ಆಗಿದೆ
ಫೋಟೋ ನಾನು ಮೊದಲ ನಂತರ ಪಡೆದರು.
ನನ್ನ ಮೊದಲ ಕಡತ ಓದುವ ನಿಲ್ಲಿಸಲು ಅವಕಾಶ, ಈ ಹೊಸ ಬರೆಯಲು ಆರಂಭಿಸಲು
ಮತ್ತು pset4 ನಿಮ್ಮ ಕಾರ್ಯಕ್ರಮದ ಔಟ್ಪುಟ್ ಅನೇಕ 50 JPEGs ಏರಲಿದೆ.
ಇದು 50 JPEGs ಅಲ್ಲ ವೇಳೆ ಮತ್ತು, ನೀವು ಒಂದು ಲೂಪ್ ಒಂದು ಬಿಟ್ ಹೊಂದಿವೆ.
ನೀವು JPEGs ಒಂದು ಅನಂತ ಸಂಖ್ಯೆ, ನೀವು ಅನಂತ ಆದೇಶಗಳ ಹೊಂದಿರುತ್ತವೆ.
ಆದ್ದರಿಂದ ತುಂಬಾ ತುಂಬಾ ಸಾಮಾನ್ಯ ಸಂದರ್ಭ.
ಆದ್ದರಿಂದ ಕ್ಷಿತಿಜದಲ್ಲಿ ಎಂಬುದನ್ನು ಇಲ್ಲಿದೆ.
>> ನಮಗೆ ಹಿಂದೆ 0 ಕುಚೋದ್ಯ, ಸಂತೋಷದಿಂದ ಎರಡೂ ಹೊಂದಿರುವ ಜನರನ್ನು ಏಕರೂಪವಾಗಿ ಇವೆ ನನ್ನ ಇಮೇಲ್ ಪ್ರತಿ ಅರ್ಥ
ತಟಸ್ಥ ಮತ್ತು ರಸಪ್ರಶ್ನೆ ಸುಮಾರು ದುಃಖ 0 ಕಾಲದ ರೀತಿಯ.
ಮತ್ತು ತಲೆ TF Zamyla, ನಿಮ್ಮ ಸ್ವಂತ TF, ನನಗೆ ತಲುಪಿ ದಯವಿಟ್ಟು
ನೀವು ವಿಷಯಗಳನ್ನು ಹೋದರು ಹೇಗೆ ಚರ್ಚಿಸಲು ಬಯಸುತ್ತೇನೆ ನೀವು ತಿಳಿದಿರುವುದರಿಂದ CAS ಅಥವಾ ಒಂದು.
>> ಆದ್ದರಿಂದ ಕೋಣೆಯಲ್ಲಿ ಇಲ್ಲಿ ಪೋಷಕರು ಮೆಚ್ಚಿಸಲೆಂದೇ, CS50 ಗ್ರಂಥಾಲಯದ ಏನು?
[ನಗು] ಉತ್ತಮ ಕೆಲಸ.
CS50 ಗ್ರಂಥಾಲಯದ ಯಾವುದು? ಹೌದು. >> [ವಿದ್ಯಾರ್ಥಿ] ಇದು ಕೋಡ್ ಪೂರ್ವ ಲಿಖಿತ ಸೆಟ್ ನ [ಕೇಳಿಸುವುದಿಲ್ಲ]
ಸರಿ, ಉತ್ತಮ.
ನಾವು ಸಿಬ್ಬಂದಿ ಬರೆದ ಕೋಡ್ ಪೂರ್ವ ಲಿಖಿತ ಸೆಟ್ ನ, ನಾವು, ನೀವು ನೀಡಲು
ಎಂದು, ಕೆಲವು ಸಾಮಾನ್ಯ ಒದಗಿಸುತ್ತದೆ
ಅಂತ ಸ್ಟ್ರಿಂಗ್ ಪಡೆಯಲು ನಂತಹ ಸ್ಟಫ್ ನನ್ನನ್ನು ಪಡೆಯಲು ಒಂದು ಇಂಟ್ - ಇಲ್ಲಿ ಪಟ್ಟಿಮಾಡಲಾಗಿದೆ ಕಾರ್ಯಗಳ ಎಲ್ಲಾ.
>> ಈಗ ಪ್ರಾರಂಭವಾಗುತ್ತಿದೆ, ನಾವು ಈ ತರಬೇತಿ ಚಕ್ರಗಳು ತೆಗೆದುಕೊಳ್ಳಲು ಪ್ರಾರಂಭಿಸಿ.
ನಾವು, ನೀವು ಒಂದು ಸ್ಟ್ರಿಂಗ್ ತೆಗೆದುಕೊಳ್ಳುವ ಆರಂಭಿಸಲು ನೀನು
ಇದು ರಿಕಾಲ್ ಏನು ನಿಜವಾದ ಅಕ್ಷಾಂಶ ರೀತಿಯ ಕೇವಲ ಒಂದು ಸಮಾನಾರ್ಥಕ ಪದವಾಯಿತು? >> [ಬಹು ವಿದ್ಯಾರ್ಥಿಗಳು] ಚಾರ್ *.
ಚಾರ್ *. ಪೋಷಕರು, ಆ ಬಹುಶಃ [ಮಾಡುತ್ತದೆ whooshing ಧ್ವನಿ] ಆಗಿತ್ತು. ಎಂದು ಒಳ್ಳೆಯದು.
ಚಾರ್ * ನಾವು ನಮ್ಮ ಶಬ್ದಕೋಶವನ್ನು ತಂತುಗಳಿಗೆ ತೆಗೆದು ಎಲ್ಲಾ ಹೆಚ್ಚಿನ ತೆರೆಯ ಮೇಲೆ ನೋಡಲು ಪ್ರಾರಂಭಿಸಿ
ವಾಸ್ತವವಾಗಿ ಕೋಡ್ ಬರೆಯಲು ಅದನ್ನು ಬರುತ್ತದೆ ಕನಿಷ್ಠ ಮಾಡಿದಾಗ.
ಹಾಗೆಯೇ, ನಾವು ಈ ಕಾರ್ಯಗಳನ್ನು ಕೆಲವು ಹೆಚ್ಚು ಬಳಸಿಕೊಂಡು ನಿಲ್ಲಿಸಲು ವಿಲ್
ನಮ್ಮ ಕಾರ್ಯಕ್ರಮಗಳು ಅತ್ಯಾಧುನಿಕ ಕಾಣುವುದು ಏಕೆಂದರೆ.
ಬದಲಿಗೆ ಕೇವಲ, ಒಂದು ಪ್ರಾಂಪ್ಟ್ ಮಿಟುಕಿಸುವುದು ಜೊತೆ ಕುಳಿತುಕೊಂಡು ಕಾರ್ಯಸೂಚಿಗಳನ್ನು ಬರೆಯಲು
ಏನೋ ಟೈಪ್ ಬಳಕೆದಾರರು ಕಾಯುವ, ನೀವು ಬೇರೆಡೆಯಿಂದ ನಿಮ್ಮ ಒಳಹರಿವು ಪಡೆಯುತ್ತೀರಿ.
ಉದಾಹರಣೆಗೆ, ನೀವು ಸ್ಥಳೀಯ ಹಾರ್ಡ್ ಡ್ರೈವಿನಲ್ಲಿ ಬಿಟ್ಗಳು ಸರಣಿಯನ್ನು ಅವುಗಳನ್ನು ಪಡೆಯುತ್ತೀರಿ.
ನೀವು ಬದಲಿಗೆ, ಒಂದು ಜಾಲಬಂಧ ಸಂಪರ್ಕವನ್ನು ರಿಂದ ಭವಿಷ್ಯದಲ್ಲಿ ಅವುಗಳನ್ನು ಪಡೆಯುತ್ತೀರಿ
ಎಲ್ಲೋ ಕೆಲವು ವೆಬ್ಸೈಟ್.
>> ಆದ್ದರಿಂದ ಮೊದಲ ಬಾರಿಗೆ ಮರಳಿ ಈ ಪದರವನ್ನು ಪೀಲ್ ನಾವು ಮತ್ತು CS50 ಯಂತ್ರ ಅಪ್ ಪುಲ್
ನೀವು # ವಾರಗಳ ಸೇರಿದಂತೆ ಮಾಡಿರುವ ಇದು cs50.h ಕರೆಯಲಾಗುತ್ತದೆ ಮತ್ತು ಈ ಫೈಲ್,
ಆದರೆ ವಾಸ್ತವವಾಗಿ ಈ ಒಳಗೆ ಎಂಬುದನ್ನು ನೋಡೋಣ.
ನೀಲಿ ಫೈಲ್ ಮೇಲೆ ಕೇವಲ ಕಾಮೆಂಟ್ಗಳ ಇಡೀ ಗುಂಪೇ ಹೊಂದಿದೆ:
ಖಾತರಿ ಮಾಹಿತಿ ಮತ್ತು ಪರವಾನಗಿ.
ಈ ತಂತ್ರಾಂಶದ ಸಾಮಾನ್ಯ ನಿದರ್ಶನದ ತೆರನಾದ
ಸಾಫ್ಟ್ವೇರ್ ಬಹಳಷ್ಟು ಈ ದಿನಗಳ ಮುಕ್ತ ಆಕರ ಎಂದು ಏನನ್ನು ಏಕೆಂದರೆ,
ಇದು ಯಾರೋ ಕೋಡ್ ಬರೆದು ಇದು ಉಚಿತವಾಗಿ ಲಭ್ಯವಿದೆ ಎಂದು ಅರ್ಥ
ಕೇವಲ ಚಲಾಯಿಸಲು ಮತ್ತು ಬಳಸಲು ಆದರೆ ವಾಸ್ತವವಾಗಿ ಓದಲು ಮತ್ತು ಮಾರ್ಪಡಿಸುವ ಮತ್ತು ನಿಮ್ಮ ಸ್ವಂತ ಕೆಲಸ ಒಂದುಗೂಡುವ.
ಆದ್ದರಿಂದ ನೀವು ಒಂದು ಚಿಕ್ಕ ರೂಪ, ಆದರೂ, ತೆರೆದ ಮೂಲ ಸಾಫ್ಟ್ವೇರ್ ಅನ್ನು ಬಳಸುತ್ತಿದ್ದೇನೆ ಇಲ್ಲಿದೆ.
ನಾನು ಕಾಮೆಂಟ್ಗಳನ್ನು ಕಳೆದ ಕೆಳಗೆ ಸ್ಕ್ರಾಲ್ ವೇಳೆ, ಆದರೂ ನಾವು ಕೆಲವು ಹೆಚ್ಚು ಪರಿಚಿತ ವಸ್ತುಗಳು ನೋಡಲು ಪ್ರಾರಂಭಿಸಿ.
Cs50.h ಕಡತ ಹೆಡರ್ ಕಡತಗಳನ್ನು ಒಂದು ಇಡೀ ಗುಂಪೇ ಒಳಗೊಂಡಿರುವ ಇಲ್ಲಿ ಮೇಲ್ಭಾಗದಲ್ಲಿ ಸೂಚನೆ.
ಇವುಗಳಲ್ಲಿ, ನಾವು ಮೊದಲು ನೋಡಿಯೇ ಇಲ್ಲ, ಆದರೆ ಒಂದು ಚಿರಪರಿಚಿತವಾಗಿದೆ.
ಇವುಗಳಲ್ಲಿ ನಾವು ಇದುವರೆಗಿನ, ಸಂಕ್ಷಿಪ್ತವಾಗಿ ಆದರೂ, ನೋಡಿದ್ದೇವೆ? >> [ವಿದ್ಯಾರ್ಥಿ] ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಗ್ರಂಥಾಲಯ.
ಹೌದು, ಪ್ರಮಾಣಿತ ಗ್ರಂಥಾಲಯ. stdlib.h malloc ಹೊಂದಿದೆ.
ಒಮ್ಮೆ ನಾವು, ಕ್ರಿಯಾಶೀಲ ಸ್ಮರಣೆ ಹಂಚಿಕೆ ಬಗ್ಗೆ ಮಾತನಾಡಲು ಆರಂಭಿಸುತ್ತಾನೆ
ನಾವು ಜೊತೆಗೆ ಮುಂದಿನ ವಾರ ಹಿಂತಿರುಗಿ ವಿಲ್ ಇದು, ಆ ಫೈಲ್ ಸೇರಿಸಿಕೊಳ್ಳಲು ಆರಂಭಿಸಿತು.
ಇದು bool ಮತ್ತು ತಪ್ಪೆಂದು ವಾಸ್ತವವಾಗಿ ಸಿ ಪ್ರತಿ ಸೆ ಅಸ್ತಿತ್ವದಲ್ಲಿ ಇಲ್ಲವೇ ಇಲ್ಲ ಎಂದು ತಿರುಗುತ್ತದೆ
ನೀವು ಇಲ್ಲಿ ಈ ಫೈಲ್, ಹೊರತು.
ನಾವು ವಾರಗಳ stdbool.h ಸೇರಿದಂತೆ ಮಾಡಲಾಗಿದೆ
ನೀವು ಒಂದು, bool ಸರಿ ಅಥವಾ ತಪ್ಪು. ಕಲ್ಪನೆಯನ್ನು ಬಳಸುತ್ತಾರೆ ಇದರಿಂದ
ಈ, ನೀವು ನಕಲಿ ಅದನ್ನು ವಿಂಗಡಿಸಲು ಮತ್ತು ಒಂದು ಇಂಟ್ ಬಳಸಬೇಕಾಗಿಬರುತ್ತಿತ್ತು
ಮತ್ತು ಕೇವಲ ನಿರಂಕುಶವಾಗಿ 0 ತಪ್ಪಾಗಿದೆ ಮತ್ತು 1 ನಿಜವಾದ ಭಾವಿಸುತ್ತವೆ.
ನಾವು ಮತ್ತಷ್ಟು ಕೆಳಗೆ ಸ್ಕ್ರಾಲ್ ವೇಳೆ, ಇಲ್ಲಿ ಒಂದು ಸ್ಟ್ರಿಂಗ್ ನಮ್ಮ ವ್ಯಾಖ್ಯಾನವಾಗಿದೆ.
ಈ ನಕ್ಷತ್ರ ಅಲ್ಲಿ ನಿಜವಾಗಿಯೂ ಪರವಾಗಿಲ್ಲ ಎಂಬುದನ್ನು ನಾವು ಮೊದಲು ಹೇಳುತ್ತಿದ್ದೆ ಎಂದು, ಔಟ್ ತಿರುಗುತ್ತದೆ.
ನೀವು ಎಲ್ಲಾ ಸುಮಾರು ಜಾಗವನ್ನು ಹೊಂದಿರುತ್ತದೆ.
ಈ ಸೆಮಿಸ್ಟರ್ ಸ್ಪಷ್ಟಪಡಿಸಲು ಈ ಎಂದು ಪ್ರಚಾರ ಮಾಡಲಾಗಿದೆ
ಸ್ಟಾರ್ ಟೈಪ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ ಎಂದು
ಸ್ವಲ್ಪ ಹೆಚ್ಚು ಸಾಮಾನ್ಯ ಅಲ್ಲ ಆದರೆ, ಕೇವಲ ಸಾಮಾನ್ಯ ಅರ್ಥ
ಅದನ್ನು ಆಗಲು, ಆದರೆ ಕಾರ್ಯತತ್ಪರವಾಗಿಲ್ಲದಿರಬಹುದು ಅದೇ ವಿಷಯ.
ನಾವು ಮತ್ತಷ್ಟು ಕೆಳಗೆ ಓದಲು ಆದರೆ ಈಗ, ಅವರ GetInt ನಲ್ಲಿ ಅವಲೋಕಿಸೋಣ
ನಾವು ಬೇರೆ ಏನು ಈ ಸೆಮಿಸ್ಟರ್ ಮುಂಚೆ ಬಹುಶಃ ಮೊದಲ ಬಳಸಲಾಗುತ್ತದೆ ಏಕೆಂದರೆ.
ಇಲ್ಲಿ GetInt ಹೊಂದಿದೆ. ಇದು ಏನು? >> [ವಿದ್ಯಾರ್ಥಿ] ಒಂದು ಮಾದರಿ. >> ಇದು ಕೇವಲ ಒಂದು ಮಾದರಿ ಹೊಂದಿದೆ.
ಸಾಮಾನ್ಯವಾಗಿ, ನಮ್ಮ ಮೇಲ್ಭಾಗಗಳು ನಲ್ಲಿ ಮೂಲಮಾದರಿಗಳ ಹಾಕಬಹುದು. ಸಿ ಕಡತಗಳನ್ನು,
ಆದರೆ ನೀವು ಇಲ್ಲಿ ಈ ಒಂದು ರೀತಿಯ ಹೆಡರ್ ಕಡತಗಳನ್ನು. H ಕಡತಗಳನ್ನು, ರಲ್ಲಿ ಮೂಲಮಾದರಿಗಳ ಹಾಕಬಹುದು
ಆದ್ದರಿಂದ ನೀವು ಕೆಲವು ಕಾರ್ಯಗಳನ್ನು ಬರೆಯಲು ನೀವು, ಇತರ ಜನರು ಬಳಸಲು ಬಯಸುವ
ಇದು ನಿಖರವಾಗಿ CS50 ಗ್ರಂಥಾಲಯದ ಸಂದರ್ಭ
ನೀವು cs50.c ಸ್ವಲ್ಪ ನಿಮ್ಮ ಕಾರ್ಯಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವುದಿಲ್ಲ ಮಾತ್ರ
ನೀವು ಆ ಕಡತದ ಮೇಲ್ಭಾಗದಲ್ಲಿ ಆದರೆ ಒಂದು ಹೆಡರ್ ಕಡತವನ್ನು ಮೇಲ್ಭಾಗದಲ್ಲಿ ಮೂಲಮಾದರಿಗಳ ಪುಟ್.
ನಂತರ ಹೆಡರ್ ಕಡತವನ್ನು ಸ್ನೇಹಿತರು ಮತ್ತು ಸಹೋದ್ಯೋಗಿಗಳು ಸೇರಿವೆ ಏನು
ಜೊತೆಗೆ # ತಮ್ಮದೇ ಕೋಡ್ ಒಳಗೊಂಡಿದೆ.
ಈ ಸಮಯ ಆದ್ದರಿಂದ, ನೀವು, ಈ ಮೂಲಮಾದರಿಗಳನ್ನು ಸೇರಿದಂತೆ ಮಾಡಿರುವ
ಪರಿಣಾಮಕಾರಿಯಾಗಿ ನಿಮ್ಮ ಕಡತದ ಮೇಲ್ಭಾಗದಲ್ಲಿ ಆದರೆ ಈ ಮೂಲಕ #, ಯಾಂತ್ರಿಕ ಸೇರಿವೆ
ನಿಮ್ಮ ಸ್ವಂತಕ್ಕೆ ಇದು ಮೂಲಭೂತವಾಗಿ ಪ್ರತಿಗಳು ಮತ್ತು ಜಲಪಿಷ್ಟಗಳು ಈ ಕಡತ.
ಇಲ್ಲಿ ಕೆಲವು ತಕ್ಕಮಟ್ಟಿಗೆ ವಿವರವಾದ ದಾಖಲೆಯನ್ನು ಹೊಂದಿದೆ.
GetInt ಒಂದು ಇಂಟ್ ಗಳಿಸುವ ಮಂಜೂರು ನಾವು ಅತ್ಯಧಿಕವಾಗಿ ತೆಗೆದುಕೊಳ್ಳಬಹುದು,
ಕೆಲವು ಮೂಲೆಯಲ್ಲಿ ಇರುವ ಔಟ್ ಆದರೆ ತಿರುಗುತ್ತದೆ.
ಯಾವ ಒಂದು quintillion, ದಾರಿ ತುಂಬಾ ದೊಡ್ಡದಾಗಿದೆ ಎಂದು ಅನೇಕ ಬಳಕೆದಾರರು ರೀತಿಯ ವೇಳೆ,
ಕೇವಲ ಒಂದು ಇಂಟ್ ನ ಹಿಡಿಸುವಂತೆ ಸಾಧ್ಯವಿಲ್ಲ? ನಿರೀಕ್ಷಿತ ವರ್ತನೆಯನ್ನು ಎಂದರೇನು?
ತಾತ್ತ್ವಿಕವಾಗಿ ಇದು ಊಹಿಸಬಹುದಾದ ಇಲ್ಲಿದೆ.
ಆದ್ದರಿಂದ ಈ ಸಂದರ್ಭದಲ್ಲಿ, ನೀವು ವಾಸ್ತವವಾಗಿ, ಫೈನ್ ಪ್ರಿಂಟ್ ಓದಲು
ನೀವು ನಿಜವಾಗಿಯೂ ಸಾಲನ್ನು ಓದಲು ಸಾಧ್ಯವಿಲ್ಲ ವೇಳೆ, ಈ ಮರಳುತ್ತದೆ INT_MAX ನೋಡುತ್ತಾರೆ.
ನಾವು ಈ ಬಗ್ಗೆ ಮಾತನಾಡಿದರು, ಆದರೆ ತನ್ನ ಬಂಡವಾಳೀಕರಣ ಆಧರಿಸಿ, ಇದು ಯಾವ ಬಹುಶಃ ಎಂದಿಗೂ ನೀವು?
[ವಿದ್ಯಾರ್ಥಿ] ನಿರಂತರ. >> ಇದು ಒಂದು ಸ್ಥಿರ ಇಲ್ಲಿದೆ.
ಬಹುಶಃ ಆ ಹೆಡರ್ ಕಡತಗಳನ್ನು ಒಂದು ಘೋಷಣೆ ಮಾಡಿದ ಕೆಲವು ವಿಶೇಷ ಸ್ಥಿರ ಇಲ್ಲಿದೆ
, ಆ ಕಡತವನ್ನು ಎತ್ತರದ, ಮತ್ತು INT_MAX ಸುಮಾರು 2 ಶತಕೋಟಿ ಹಾಗೆ ಬಹುಶಃ ವಿಷಯ
ನಾವು ಹೇಗೋ ಏನೋ ಎಂದು ಸೂಚಿಸುತ್ತದೆ ಬೇಕಾಗುತ್ತದೆ ಎಂಬುದು ಕಲ್ಪನೆಯು ತಪ್ಪಾಗಿದೆ
ನಾವು, ಹೌದು, ನಮ್ಮ ಇತ್ಯರ್ಥವಾಗದ 4 ಬಿಲಿಯನ್ ಸಂಖ್ಯೆಯ: -2 ಶತಕೋಟಿ 2 ಬಿಲಿಯನ್ ಮೇಲೆ, ನೀಡಲು ಅಥವಾ ಪಡೆಯಲು.
ಅಲ್ಲದೆ, ಯಾವ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಸಾಮಾನ್ಯವಾಗಿದೆ, ನೀವು ಆ ಸಂಖ್ಯೆಗಳ ಒಂದು ಕಳ್ಳತನ ಆಗಿದೆ
ಬಹುಶಃ 0, ಬಹುಶಃ 2 ಬಿಲಿಯನ್, ಬಹುಶಃ -2 ಶತಕೋಟಿ
ನೀವು ಜಗತ್ತಿನ ಬದ್ಧರಾಗುತ್ತಾರೆ ಆ ಮೂಲಕ ನೀವು ನಿಮ್ಮ ಸಂಭಾವ್ಯ ಮೌಲ್ಯಗಳನ್ನು ಒಂದು ಕಾಲ
ಒಂದು ವೇಳೆ ಏನಾದರೂ ತಪ್ಪಾದಲ್ಲಿ ನಾನು ಈ ಸೂಪರ್ ದೊಡ್ಡ ಮೌಲ್ಯವನ್ನು ಹಿಂತಿರುಗುವುದು.
ಆದರೆ ನೀವು ಬಳಕೆದಾರ 234 ತರಹದ ಗೂಢ ಏನೋ ಟೈಪ್ ಬಯಸುವುದಿಲ್ಲ ..., ನಿಜವಾಗಿಯೂ ದೊಡ್ಡ ಸಂಖ್ಯೆ.
ನೀವು ಒಂದು ಸ್ಥಿರ ಬದಲಿಗೆ ಇದು ಸಾಮಾನ್ಯೀಕರಿಸುತ್ತದೆ.
ನೀವು ಕಳೆದ ಕೆಲವು ವಾರಗಳ ಗುದ ಎಂದು ವೇಳೆ ಆದ್ದರಿಂದ ನಿಜವಾಗಿಯೂ, ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ನೀವು GetInt ಎಂಬ
ಪರಿಸ್ಥಿತಿ INT_MAX ಬಳಕೆದಾರ ಟೈಪ್ ಮಾಡಿದರೆ ನೀವು ಜೊತೆಗೆ ಪರೀಕ್ಷಿಸುವ ನಡೆಯಬೇಕಾಗಿತ್ತು,
ಅಥವಾ, ಹೆಚ್ಚು ನಿರ್ದಿಷ್ಟವಾಗಿ, ಇದು ಮಾಡಿದರೆ ಏಕೆಂದರೆ, GetInt ರಿಟರ್ನ್ INT_MAX ಮಾಡಿದರು,
ಎಂದು ವಾಸ್ತವವಾಗಿ ಅವರು ಅದನ್ನು ಟೈಪ್ ಇಲ್ಲ ಅರ್ಥ. ಏನೋ ಈ ಪ್ರಕರಣದಲ್ಲಿ ತಪ್ಪಾಗಿದೆ.
ಆದ್ದರಿಂದ ಈ ಸಾಮಾನ್ಯವಾಗಿ ವಿಶೇಷ ಅಂದರೆ ಒಂದು ಸೆಂಟಿನೆಲ್ ಮೌಲ್ಯ, ಎಂದು ಏನನ್ನು ಹೊಂದಿದೆ.
>> . ಸಿ ಕಡತ ಬದಲಾಗುತ್ತವೆ ಈಗ ನೋಡೋಣ.
ಸಿ ಕಡತ ಕೆಲವು ಬಾರಿಗೆ ಉಪಕರಣಗಳಲ್ಲಿರುವ ಅಸ್ತಿತ್ವದಲ್ಲಿತ್ತು.
ಮತ್ತು ವಾಸ್ತವವಾಗಿ, APPLIANCE ಇದು ಪೂರ್ವ ಕಂಪೈಲ್ ನಾವು ವಸ್ತುವಿನ ಕೋಡ್ ಎಂಬ ವಿಷಯ ಆಗಿ ನೀವು ಹೊಂದಿದೆ
ವ್ಯವಸ್ಥೆಯ ತಿಳಿದಿರುವ ಕಾರಣ ಅದು ಅಲ್ಲಿ ಆದರೆ ಇದು ನಿಮಗೆ ಸಂಬಂಧಿಸಿದ ಇಲ್ಲ
ಈ ಸಂದರ್ಭದಲ್ಲಿ ಅದು ಎಲ್ಲಿ: APPLIANCE.
ಈ ಬಾರಿ GetInt ಮತ್ತು GetInt ಕೆಲಸ ಎಂಬುದನ್ನು ನೋಡಲು ಈಗ ಕೆಳಗೆ ಸ್ಕ್ರಾಲ್ ಲೆಟ್ಸ್.
ಇಲ್ಲಿ ನಾವು ಮೊದಲು ಇದೇ ಕಾಮೆಂಟ್ಗಳನ್ನು ಹೊಂದಿವೆ.
ನನಗೆ ಕೇವಲ ಕೋಡ್ ಭಾಗದಲ್ಲಿ ಜೂಮ್ ಲೆಟ್.
ಮತ್ತು ನಾವು GetInt ಹೊಂದಿರುವ ಕೆಳಗಿನ ಹೊಂದಿದೆ.
ಇದು ಇನ್ಪುಟ್ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ.
, ಇದು (ನಿಜವಾದ) ಸಂದರ್ಭದಲ್ಲಿ, ಒಂದು int ಹಿಂದಿರುಗಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ನಾವು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಅನಂತ ಆದೇಶಗಳ ಹೊಂದಿವೆ
ಆದರೆ ಬಹುಶಃ ನಾವು ಹೇಗಾದರೂ ಈ ದಾಳಿ ಅಥವಾ ಈ ಒಳಗಿನ ಬರುತ್ತೇವೆ.
>> ನ ಹೇಗೆ ಈ ಕೆಲಸಗಳನ್ನು ನೋಡೋಣ.
ನಾವು, ಲೂಪ್ ಒಳಗೆ ಈ ಮೊದಲ ಸಾಲಿನಲ್ಲಿ 166 GetString ಬಳಸಿಕೊಂಡು ತೋರುತ್ತಿದೆ.
ಯಾವ ಸಂದರ್ಭಗಳಲ್ಲಿ GetString ಹಿಂದಿರುಗಬಹುದು ಏಕೆಂದರೆ ಈಗ ಉತ್ತಮ ಅಭ್ಯಾಸ
ವಿಶೇಷ ಕೀವರ್ಡ್ ಸಾಂಕೇತಿಕಕೊಂಡಿಯು? >> [ವಿದ್ಯಾರ್ಥಿ] ಏನಾದರೂ ತಪ್ಪಾದಲ್ಲಿ ವೇಳೆ.
ಒಂದು ವೇಳೆ ಏನಾದರೂ ತಪ್ಪಾದಲ್ಲಿ. ಮತ್ತು ನೀವು GetString ರೀತಿಯ ಕರೆ ಮಾಡಿದಾಗ ತಪ್ಪು ಹೋಗಿ ಎಂದು ಏನು?
ಹೌದು. >> [ವಿದ್ಯಾರ್ಥಿ] Malloc ಇದು ints ನೀಡಲು ವಿಫಲವಾಗುತ್ತದೆ.
ಹೌದು. ಬಹುಶಃ malloc ವಿಫಲಗೊಳ್ಳುತ್ತದೆ.
ಎಲ್ಲೋ HOOD ಕೆಳಗೆ, GetString ಮೆಮೊರಿ ಗೊತ್ತುಪಡಿಸುತ್ತದೆ ಇದು malloc, ಕರೆ ಇದೆ
ಇದು ಅಕ್ಷರಗಳ ಎಲ್ಲಾ ಕಂಪ್ಯೂಟರ್ ಅಂಗಡಿ ಅನುಮತಿಸುತ್ತದೆ
ಎಂದು ಕೀಬೋರ್ಡ್ ಆಗಿ ಬಳಕೆದಾರ ರೀತಿಯ.
ಮತ್ತು, ಬಳಕೆದಾರರಿಗೆ ಉಚಿತ ಸಮಯವನ್ನು ಇಡೀ ಬಹಳಷ್ಟು ಮತ್ತು ಉದಾಹರಣೆಗೆ, ಹೆಚ್ಚು ಟೈಪ್ ಇಟ್ಟುಕೋ
ಕಂಪ್ಯೂಟರ್ ಹೆಚ್ಚು ಪಾತ್ರಗಳು, ಹೆಚ್ಚು 2 ಬಿಲಿಯನ್ ಪಾತ್ರಗಳು ಕೂಡ RAM ಹೊಂದಿದೆ.
GetString ನಿಮಗೆ ಎಂಬುದನ್ನು ಸೂಚಿಸುವುದಕ್ಕಾಗಿ ಸಾಧ್ಯವಾಗುತ್ತದೆ.
ಈ ಒಂದು ಸೂಪರ್, ಸೂಪರ್ ಅಸಾಮಾನ್ಯ ಮೂಲೆಯಲ್ಲಿ ಸಂದರ್ಭದಲ್ಲಿ, ಸಹ
ಅದು ಹೇಗೋ ಈ ನಿರ್ವಹಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ
ಮತ್ತು ಆದ್ದರಿಂದ ನಾವು ಹಿಂದಿರುಗಿ ಅದರ ದಸ್ತಾವೇಜನ್ನು ಓದಲು, GetString ವಾಸ್ತವವಾಗಿ ರಿಟರ್ನ್ ಸಾಂಕೇತಿಕಕೊಂಡಿಯು ಯಾವ.
GetString ಸಾಂಕೇತಿಕಕೊಂಡಿಯು ಮರಳಿ ವಿಫಲವಾದರೆ ಈಗ ವೇಳೆ, GetInt INT_MAX ಮರಳಿ ವಿಫಲವಾದ ಹೋಗುತ್ತದೆ
ಕೇವಲ ಸೆಂಟಿನೆಲ್ ಮಾಹಿತಿ. ಈ ಕೇವಲ ಮಾನವ ಮಾದರಿಗಳಿವೆ.
ಈ ಸಂದರ್ಭದಲ್ಲಿ ತಿಳಿಯುವುದಿಲ್ಲ ಕೇವಲ ರೀತಿಯಲ್ಲಿ ದಸ್ತಾವೇಜನ್ನು ಓದುವ ಮೂಲಕ.
>> ಇಂಟ್ ವಾಸ್ತವವಾಗಿ ನೆತ್ತಿಗೇರಿದೆ ಅಲ್ಲಿ ಕೆಳಗೆ ಸ್ಕ್ರಾಲ್ ಲೆಟ್ಸ್.
ನಾನು ಸ್ವಲ್ಪ ಮತ್ತಷ್ಟು ಕೆಳಗೆ ಸ್ಕ್ರಾಲ್ ವೇಳೆ, ಸಾಲು 170 ರಲ್ಲಿ, ನಾವು ಈ ಸಾಲುಗಳನ್ನು ಮೇಲೆ ಕಾಮೆಂಟ್ ಹೊಂದಿರುತ್ತವೆ.
ನಾವು 172 ರ ನಂತರ ಒಂದು int, N, ಮತ್ತು ಚಾರ್, ಸಿ, ಮತ್ತು ಈ ಹೊಸ ಕಾರ್ಯಗಳು ಘೋಷಿಸಲು
ನೀವು ಕೆಲವು sscanf ಮೊದಲು ಎಡತಾಕಿರುವಿರಾ ಮಾಡಿದ್ದಾರೆ.
ಈ ವಾಕ್ಯವನ್ನು scanf ಪ್ರತಿನಿಧಿಸುತ್ತದೆ.
ಬೇರೆ ರೀತಿಯಲ್ಲಿ ಹೇಳುವುದಾದರೆ, ನನಗೆ ಒಂದು ಸ್ಟ್ರಿಂಗ್ ನೀಡಿ, ಆಸಕ್ತಿಯ ಮಾಹಿತಿಯನ್ನು ತುಣುಕುಗಳನ್ನು ಇದನ್ನು ಸ್ಕ್ಯಾನ್ ಕಾಣಿಸುತ್ತದೆ.
ಎಂದು ಅರ್ಥ ಏನು?
ನಾನು ನಮೂದಿಸಿ ಹಿಟ್ ನಂತರ ಕೀಬೋರ್ಡ್ ನಲ್ಲಿ 123, ಅಕ್ಷರಶಃ ಟೈಪ್ ಮತ್ತು ಎಂದು ಭಾವಿಸೋಣ.
GetString ಅದಕ್ಕೆ ಹಿಂದಿರುಗಿದಾಗ 123 ಮಾಹಿತಿ ಪ್ರಕಾರ ಯಾವುದು? >> [ವಿದ್ಯಾರ್ಥಿ] ಸ್ಟ್ರಿಂಗ್.
ಇದು ಬಲ, ನಿಸ್ಸಂಶಯವಾಗಿ ಸ್ಟ್ರಿಂಗ್ ನ? ನಾನು ಒಂದು ಸ್ಟ್ರಿಂಗ್ ದೊರೆತಿದೆ.
ಆದ್ದರಿಂದ 123, ನಿಜವಾಗಿಯೂ ಉಲ್ಲೇಖ-ಕೊಡುವುದು, ಇದು ಕೊನೆಯಲ್ಲಿ \ 0 123 ಆಗಿದೆ.
ಒಂದು ಇಂಟ್ ಅಲ್ಲ. ಒಂದು ಸಂಖ್ಯೆ ಅಲ್ಲ. ಇದು ಹಲವಾರು ಕಾಣುತ್ತದೆ ಆದರೆ ನಿಜವಾಗಿ ಅಲ್ಲ.
ಆದ್ದರಿಂದ ಯಾವ GetInt ಮಾಡಲು ಹೊಂದಿದೆ?
123 \ 0 - - ಮತ್ತು ಹೇಗಾದರೂ ನಿಜವಾದ ಪೂರ್ಣಾಂಕ ಮತಾಂತರಗೊಳ್ಳಲು ಅದು ಎಡದಿಂದ ಬಲಕ್ಕೆ ಒಂದು ತಂತುವಿನ ಸ್ಕ್ಯಾನ್ ಮಾಡಲು ಹೊಂದಿದೆ.
ನೀವು ಇದನ್ನು ಹೇಗೆ ಎಂಬುದನ್ನು ಅಂದಾಜು ಮಾಡಬಹುದೆಂಬ.
ನೀವು pset2 ಮರಳಿ ಭಾವಿಸಿದರೆ, ನೀವು ಬಹುಶಃ ಸೀಸರ್ ಒಂದು ಕಡಿಮೆ ಆರಾಮದಾಯಕ ಸಿಕ್ಕಿತು
ಅಥವಾ Vigenere, ಆದ್ದರಿಂದ ನೀವು ಒಂದು ವಾಕ್ಯವನ್ನು ಮೇಲೆ ತಿರುಗಿ, ನೀವು ints ಗೆ ಅಕ್ಷರಗಳನ್ನು ಪರಿವರ್ತಿಸಬಹುದು.
ಆದರೆ ಬೀಟಿಂಗ್, ಇದು ಕೆಲಸದ ಸಂಪೂರ್ಣ ಸಂಗತಿಯೇ.
ಏಕೆ ಆ ಮಾಡುತ್ತದೆ sscanf ಒಂದು ಕ್ರಿಯೆ ಕರೆ?
ಆದ್ದರಿಂದ sscanf ವಾದವನ್ನು ನಿರೀಕ್ಷಿಸುತ್ತದೆ - ಈ ಸಂದರ್ಭದಲ್ಲಿ ಲೈನ್ ಸ್ಟ್ರಿಂಗ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ.
ನಂತರ ನಿಮಗೆ ಈ ಸಾಲಿನಲ್ಲಿ ನೋಡಿ ನಿರೀಕ್ಷೆ ಏನು, ಇದೇ ಗೆ printf, ಉಲ್ಲೇಖಗಳಲ್ಲಿ ಸೂಚಿಸಿ.
ಮತ್ತು ನಾನು ಇಲ್ಲಿ ಹೇಳುವ ನಾನು ನಾನು ದಶಮಾಂಶ ಸಂಖ್ಯೆ ಮತ್ತು ಬಹುಶಃ ಒಂದು ಪಾತ್ರ ನೋಡಿ ನಿರೀಕ್ಷೆ ಹೊಂದಿದೆ.
ಈ ಕೇವಲ ಒಂದು ಕ್ಷಣದಲ್ಲಿ ಸಂದರ್ಭದಲ್ಲಿ ಏಕೆ ಮತ್ತು ನಾವು ನೋಡುತ್ತಾರೆ.
ಮತ್ತು ಈ ಸಂಕೇತವು ಈಗ ವಿಷಯವನ್ನು ನೆನಪಿಗೆ ತರುತ್ತದೆ ಎಂದು ತಿರುಗುತ್ತದೆ ನಾವು ಬಗ್ಗೆ ಮಾತನಾಡುವ ಪ್ರಾರಂಭವಾಯಿತು
ಕೇವಲ ಒಂದು ವಾರದ ಹಿಂದೆ.
ಏನು & n ಮತ್ತು & ಸಿ ಇಲ್ಲಿ ನಮಗೆ ಏನು? >> [ವಿದ್ಯಾರ್ಥಿ] N ವಿಳಾಸ ಮತ್ತು ಸಿ ವಿಳಾಸ.
ಹೌದು. ನನಗೆ ಸಿ ಆಫ್ n ಮತ್ತು ವಿಳಾಸ ವಿಳಾಸಕ್ಕೆ ನೀಡುವ ನ. ಏಕೆ ಮುಖ್ಯ?
ನೀವು ಸಿ ಕಾರ್ಯಗಳನ್ನು ಜೊತೆಗೆ, ನೀವು ಯಾವಾಗಲೂ ಎಲ್ಲಾ ಒಂದು ಮೌಲ್ಯ ಅಥವಾ ಯಾವುದೇ ಮೌಲ್ಯವನ್ನು ಮರಳಬಹುದು ತಿಳಿದಿದೆ.
ನೀವು ಒಂದು int, ಸ್ಟ್ರಿಂಗ್, ಒಂದು ಫ್ಲೋಟ್, ಒಂದು ಚಾರ್, ಏನೇ, ಅಥವಾ ನೀವು ಅನೂರ್ಜಿತ ಮರಳಬಹುದು, ಮರಳಬಹುದು
ಆದರೆ ನೀವು ಮಾತ್ರ ಗರಿಷ್ಠ ಒಂದು ವಿಷಯ ಮರಳಬಹುದು.
ಆದರೆ ಇಲ್ಲಿ ನಾವು sscanf ಬಹುಶಃ ಒಂದು int, ಒಂದು ದಶಮಾಂಶ ಸಂಖ್ಯೆ, ನನಗೆ ಮರಳಿ ಬಯಸುವ
ಮತ್ತು ಒಂದು ಅಕ್ಷರ, ಮತ್ತು ನಾನು ಒಂದು ಕ್ಷಣದಲ್ಲಿ ಏಕೆ ಚಾರ್ ವಿವರಿಸಲು ಮಾಡುತ್ತೇವೆ.
ನೀವು ಪರಿಣಾಮಕಾರಿಯಾಗಿ sscanf ಎರಡು ವಿಷಯಗಳನ್ನು ಮರಳಲು ಬಯಸುವ, ಆದರೆ ಸಿ ಕೇವಲ ಆಗುವುದಿಲ್ಲ
ನೀವು ಎರಡು ವಿಳಾಸಗಳನ್ನು ಸಾಗುವ ಆ ಕೆಲಸ ಮಾಡಬಹುದು
ತಕ್ಷಣ ನೀವು ಕಾರ್ಯ ಎರಡು ವಿಳಾಸಗಳನ್ನು ಹ್ಯಾಂಡ್ ಏಕೆಂದರೆ,
ಆ ಕಾರ್ಯ ಅವರೊಂದಿಗೆ ಏನು ಮಾಡಬಹುದು? >> [ವಿದ್ಯಾರ್ಥಿ] ಆ ವಿಳಾಸಗಳನ್ನು ಬರೆಯಿರಿ.
ಇದು ಆ ವಿಳಾಸಗಳನ್ನು ಬರೆಯಬಹುದು.
ನೀವು ಸ್ಟಾರ್ ಕಾರ್ಯಾಚರಣೆ ಬಳಸಲು ಮತ್ತು ಆ ವಿಳಾಸಗಳನ್ನು ಪ್ರತಿಯೊಂದು ಇಲ್ಲಿ ಹೋಗಬಹುದು.
ಇದು ಚರಾಂಕಗಳ ಮೌಲ್ಯಗಳನ್ನು ಬದಲಾಯಿಸಿರುವುದಕ್ಕಾಗಿ ರೀತಿಯ ಈ ಹಿಂದಿನ ಬಾಗಿಲಿನ ಯಾಂತ್ರಿಕ ಆದರೆ ಬಹಳ ಸಾಮಾನ್ಯವಾಗಿದೆ
ಈ ಪ್ರಕರಣದಲ್ಲಿ, ಎರಡು - ಕೇವಲ ಒಂದೇ ಸ್ಥಳದಲ್ಲಿ ಹೆಚ್ಚು.
ಈಗ ನಾನು == 1 ಪರಿಶೀಲಿಸುತ್ತಿದೆ ಮತ್ತು ನಂತರ, ವಾಸ್ತವವಾಗಿ, ನಿಜವಾದ ಗೆ ಮೌಲ್ಯಮಾಪನ ಇದ್ದಲ್ಲಿ N ಹಿಂದಿರುಗಿದ ನಾನು ಗಮನಿಸಿ.
ಆದ್ದರಿಂದ ಇಂದಿನ ವಿಶೇಷವೇನು? ತಾಂತ್ರಿಕವಾಗಿ, ನಾವು ನಿಜವಾಗಿಯೂ GetInt ನಡೆಯುತ್ತಿಲ್ಲ ಬಯಸುವ ಎಲ್ಲಾ ಇದು.
ಉಲ್ಲೇಖ-ಕೊಡುವುದು 123 - ನಾವು ಮಾತನಾಡಲು, ಪಾರ್ಸ್ ಬಯಸುವ, ನಾವು ಸ್ಟ್ರಿಂಗ್ ಓದಲು ಬಯಸುವ -
ಮತ್ತು ನಾವು ಮಾಡಲು sscanf ಹೇಳುವ ಏನನ್ನು ಅಲ್ಲಿ ಒಂದು ಸಂಖ್ಯೆ, ಇಲ್ಲ ತೋರುತ್ತಿದೆ ವೇಳೆ
ಈ ವೇರಿಯಬಲ್ N ನನಗೆ - 123 - ಆ ಸಂಖ್ಯೆ ಹಾಕಲಾಗುತ್ತದೆ.
ಆದ್ದರಿಂದ ನಾನು ವಾಸ್ತವವಾಗಿ ಇದು ಹೊಂದಿದೆ?
ನೀವು ಇಲ್ಲಿ ಒಂದು ಪಾತ್ರ ಸಿಗುತ್ತವೆ ಹೇಳುವ sscanf ಪಾತ್ರ ಏನು?
[ಕೇಳಿಸುವುದಿಲ್ಲ ವಿದ್ಯಾರ್ಥಿ ಪ್ರತಿಕ್ರಿಯೆ] >> ಒಂದು ದಶಮಾಂಶ ಬಿಂದುವಿನ ವಾಸ್ತವವಾಗಿ ಸಹಾಯಕವಾಗಿತ್ತು.
ಒಂದು ಕ್ಷಣ ಭಾವಿಸಿದ್ದರು ನಿಲುವನ್ನು ಲೆಟ್. ಬೇರೆ ಏನು?
[ವಿದ್ಯಾರ್ಥಿ] ಇದು ಸಾಂಕೇತಿಕಕೊಂಡಿಯು ಆಗಿರಬಹುದು. >> ಉತ್ತಮ ಆಲೋಚನೆ. ಇದು ಶೂನ್ಯ ಪಾತ್ರ ಆಗಿರಬಹುದು.
ಈ ಪ್ರಕರಣದಲ್ಲಿ ನಿಜವಾಗಿಯೂ ಅಲ್ಲ. ಹೌದು. >> [ವಿದ್ಯಾರ್ಥಿ] ASCII.
ASCII. ಅಥವಾ ನನ್ನನ್ನು ಮತ್ತಷ್ಟು ಸಾಮಾನ್ಯೀಕರಿಸುತ್ತದೆ ಅವಕಾಶ.
ಅಲ್ಲಿ% ಸಿ ಕೇವಲ ದೋಷ ಪರಿಶೀಲನೆಗಾಗಿ ಹೊಂದಿದೆ.
ನಾವು, ಸಂಖ್ಯೆ ನಂತರ ಅಕ್ಷರ ಇರುವಂತೆ ಬಯಸುವುದಿಲ್ಲ
ಆದರೆ ಏನು ಈ ನನಗೆ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ ಕೆಳಗಿನ ಹೊಂದಿದೆ.
ಆ sscanf, ಇಲ್ಲಿ ಈ ಉದಾಹರಣೆಯಲ್ಲಿ n ಮತ್ತು ಸಿ ಮೌಲ್ಯಗಳನ್ನು ಸಂಗ್ರಹಿಸುವ ಜೊತೆಗೆ, ತಿರುಗಿದರೆ
ಇದು ಅಸ್ಥಿರ ಸಂಖ್ಯೆ ಹಿಂದಿರುಗಿಸುತ್ತದೆ ಹೊಂದಿದೆ ಏನು ಇದು ಸೈನ್ ಮೌಲ್ಯಗಳನ್ನು ಪುಟ್
ನೀವು ಕೇವಲ 123 ಟೈಪ್ ಆದ್ದರಿಂದ, ನಂತರ ಕೇವಲ% d, ಹೊಂದಿಸಲು ಹೋಗುತ್ತದೆ
ಮತ್ತು ಕೇವಲ N, 123 ನಂತಹ ಮೌಲ್ಯದೊಂದಿಗೆ ಸಂಗ್ರಹವಾಗಿರುವ ಮುಟ್ಟುತ್ತದೆ
ಮತ್ತು ಏನೂ ಸಿ ಇರಿಸಲಾಯಿತು ಮುಟ್ಟುತ್ತದೆ.
ಸಿ ಆದ್ದರಿಂದ ಮಾತನಾಡಲು, ಒಂದು ಕಸದ ಮೌಲ್ಯ ಉಳಿಯುತ್ತದೆ -
ಕಸ ಏಕೆಂದರೆ ಅದು ಕೆಲವು ಮೌಲ್ಯಕ್ಕೆ ಆರಂಭಿಸಲಾಗಿಲ್ಲ ಎಲ್ಲೂ.
ನಾನು, ಆ ಪಾಯಿಂಟರ್ಗಳ 1 ಜನಸಂಖ್ಯೆ ಏಕೆಂದರೆ ಆ ಸಂದರ್ಭದಲ್ಲಿ, sscanf 1 ಹಿಂದಿರುಗಿಸುತ್ತದೆ
ನಾನು ಮೆಮೊರಿ ಮುಕ್ತಗೊಳಿಸಲು ಲೈನ್ ಮುಕ್ತಗೊಳಿಸಲು ಆದ್ದರಿಂದ ಉತ್ತಮ ಸಂದರ್ಭದಲ್ಲಿ, ನಾನು ಇಂಟ್ ಹೊಂದಿವೆ
ಆ GetString ವಾಸ್ತವವಾಗಿ ಹಂಚಿಕೆ, ಮತ್ತು ನಂತರ ನಾನು, N ಹಿಂತಿರುಗಿ
ಹೇಳಿಕೆ ಬರುತ್ತದೆ ಮರುಪ್ರಯತ್ನಿಸಿ ಅಲ್ಲಿ ನೀವು ಎಂದಾದರೂ ಯೋಚಿಸಿದ್ದೀರಾ ಬೇರೆ ಅದನ್ನು ಇಲ್ಲಿಯೇ ಬರುತ್ತದೆ.
ಹಾಗಾಗಿ, ಇದಕ್ಕೆ ವಿರುದ್ಧವಾಗಿ, ನಾನು 123foo ಟೈಪ್ - ಪಠ್ಯದ ಕೆಲವು ಯಾದೃಚ್ಛಿಕ ಅನುಕ್ರಮ -
sscanf ಸಂಖ್ಯೆ, ಸಂಖ್ಯೆ, ಸಂಖ್ಯೆ, F, ನೋಡಲು ಹೋಗುತ್ತದೆ
ಮತ್ತು N ರಲ್ಲಿ 123 ಹಾಕಲು ವಿಶೇಷವೇನು ಇದು ಸಿ ಎಫ್ ಪುಟ್ ಮತ್ತು ನಂತರ 2 ಮರಳಲು ವಿಶೇಷವೇನು.
ಆದ್ದರಿಂದ ನಾವು sscanf ವರ್ತನೆಯ, ಸರಳ ರೀತಿಯಲ್ಲಿ ಮೂಲ ವ್ಯಾಖ್ಯಾನ ಬಳಸಿಕೊಂಡು ಹೊಂದಿವೆ -
ಹಾಗೆಯೇ, ಮೊದಲ ನೋಟದಲ್ಲಿ ಆದರೆ ದಿನದ ಸರಳವಾದ ಯಾಂತ್ರಿಕ ಕೊನೆಯಲ್ಲಿ ಸಂಕೀರ್ಣ -
ಹೀಗೆ ಒಂದು ಇಂಟ್ ಇರುತ್ತದೆ ಮತ್ತು ಹಾಗಾಗಿ, ಎಂದು ನಾನು ಕಂಡು ಒಂದೇ ವಸ್ತು?
ಮತ್ತು ಇಲ್ಲಿ ಜಾಗಗಳನ್ನು ಉದ್ದೇಶಪೂರ್ವಕ ಹೊಂದಿದೆ.
ನೀವು sscanf ದಾಖಲೆಯನ್ನು ಓದಲು, ನೀವು ಜಾಗಗಳನ್ನು ತುಂಡು ಸೇರಿವೆ ವೇಳೆ ಸೂಚಿಸುತ್ತದೆ
ಆರಂಭದಲ್ಲಿ ಅಥವಾ ಕೊನೆಯಲ್ಲಿ, sscanf ಕೂಡ ಯಾವುದೇ ಕಾರಣದಿಂದಾಗಿ, ಬಳಕೆದಾರ ಅನುಮತಿಸುತ್ತದೆ
ಸ್ಪೇಸ್ ಬಾರ್ 123 ಹೊಡೆಯಲು ಮತ್ತು ನ್ಯಾಯಸಮ್ಮತ ಎಂದು ಕಾಣಿಸುತ್ತದೆ.
ಅವರು ಸ್ಪೇಸ್ ಬಾರ್ ಹೊಡೆಯಲು ಕೇವಲ ನಿಮ್ಮ ಬಳಕೆದಾರ ನಲ್ಲಿ ಕೂಗಿ ಆಗುವುದಿಲ್ಲ
ಆರಂಭದಲ್ಲಿ ಅಥವಾ ಕೊನೆಯಲ್ಲಿ, ಇದು ಬಳಕೆದಾರ ಸ್ನೇಹಿ ಕೇವಲ ಸ್ವಲ್ಪ ಹೆಚ್ಚು.
>> ನಂತರ ಯಾವುದೇ ಪ್ರಶ್ನೆಗಳನ್ನು GetInt ಮೇಲೆ? ಹೌದು. >> [ವಿದ್ಯಾರ್ಥಿ] ನೀವು ಕೇವಲ ಒಂದು ಚಾರ್ ಇರಿಸಲಾಯಿತು ಏನಾಗುತ್ತದೆ?
ಪ್ರಶ್ನೆ ಉತ್ತಮ.
ನೀವು ಕೇವಲ ಎಫ್ ನಂತಹ ಚಾರ್ ಬೆರಳಚ್ಚಿಸಿದ ಮತ್ತು ಇದುವರೆಗೆ 123 ಟೈಪ್ ಇಲ್ಲದೆ ನಮೂದಿಸಿ ಹಿಟ್ ವೇಳೆ?
ನೀವು ಕೋಡ್ ಈ ಸಾಲಿನ ವರ್ತನೆಯನ್ನು ನಂತರ ಎಂಬುದನ್ನು ತಿಳಿದಿರುವಿರಿ?
[ಕೇಳಿಸುವುದಿಲ್ಲ ವಿದ್ಯಾರ್ಥಿ ಪ್ರತಿಕ್ರಿಯೆ]
ಆ ಸಂದರ್ಭದಲ್ಲಿ, N ಅಥವಾ ಸಿ ತುಂಬಲು ಹಿಂದಿರುಗಬಹುದೆಂದು ಏಕೆಂದರೆ ಹೌದು, ಆದ್ದರಿಂದ sscanf ಅದೂ ಒಳಗೊಳ್ಳಬಹುದಾಗಿದೆ.
ಇದು ಪ್ರಕರಣದಲ್ಲಿ ಇದರಲ್ಲಿ ನಾನು ಆ ಸನ್ನಿವೇಶದಲ್ಲಿ ಹಿಡಿಯುತ್ತಿರುವ ನಾನು ಬದಲು, 0 ಮರಳಲು ವಿಶೇಷವೇನು
ನಾನು ಬಯಸುವ ನಿರೀಕ್ಷಿತ ಮೌಲ್ಯ 1 ಕಾರಣ.
ನಾನು ಕೇವಲ ಒಂದು ಬಯಸುವ ಮತ್ತು ಕೇವಲ ಒಂದೇ ಒಂದು ಕೆಲಸವನ್ನು ಮುಚ್ಚಬೇಕಾಗುತ್ತದೆ. ಪ್ರಶ್ನೆ ಉತ್ತಮ.
>> ಇತರೆ? ಎಲ್ಲಾ ಸರಿ.
>> ಇಲ್ಲಿ ಎಲ್ಲಾ ಚಟುವಟಿಕೆಗಳಿಗೆ ಮೂಲಕ ನಾವು ಬೇಡ,
ಆದರೆ ಉಳಿದ ಆಸಕ್ತಿ ಬಹುಶಃ ತೋರುತ್ತದೆ ಒಂದು GetString ಆಗಿದೆ
ಇದು GetLongLong, GetFloat, GetInt, GetDouble ಎಂದು ತಿರುಗುತ್ತದೆ ಏಕೆಂದರೆ
ಎಲ್ಲಾ ಓಡ GetString ತಮ್ಮ ಕಾರ್ಯವನ್ನು ಸಾಕಷ್ಟು.
ಆದ್ದರಿಂದ ಅವನು ಇಲ್ಲಿ ಜಾರಿಗೆ ಇದೆ ಹೇಗೆ ಅವಲೋಕಿಸೋಣ.
ಈ ಒಂದು ಸ್ವಲ್ಪ ಸಂಕೀರ್ಣ ಕಾಣುತ್ತದೆ, ಆದರೆ ಅದೇ ಮೂಲಭೂತ ಬಳಸುತ್ತದೆ
ನಾವು ಕಳೆದ ವಾರ ಬಗ್ಗೆ ಆರಂಭಿಸಿದರು.
GetString ರಲ್ಲಿ, ಇದು ಅಪ್ ಇಲ್ಲಿ ಅನೂರ್ಜಿತ ಪ್ರಕಾರ ಯಾವುದೇ ವಾದ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ
ಮತ್ತು ಇದನ್ನು ನಾನು ಸ್ಪಷ್ಟವಾಗಿ ಬಫರ್ ಎಂಬ ವಾಕ್ಯವನ್ನು ಘೋಷಿಸಿ ನಾನು, ಸ್ಟ್ರಿಂಗ್ ಹಿಂದಿರುಗಿಸುತ್ತದೆ.
ನಾನು ಎಂದು ಇನ್ನೂ ಬಳಸಬಹುದಾಗಿದೆ ವಿಶೇಷವೇನು ಏನು ಗೊತ್ತಿಲ್ಲ, ಆದರೆ ನಾವು ನೋಡುತ್ತಾರೆ.
ಸಾಮರ್ಥ್ಯ ಡೀಫಾಲ್ಟ್ 0 ಮೂಲಕ ತೋರುತ್ತಿದೆ.
ಹೆಚ್ಚು ಖಚಿತವಾಗಿ ಅಲ್ಲಿ ಈ N ಇನ್ನೂ ಬಳಸಲಾಗುತ್ತದೆ ಹೋಗುವ ಎಂಬುದನ್ನು ಖಚಿತವಾಗಿ ಅಲ್ಲದ ಹೋಗುತ್ತದೆ,
ಆದರೆ ಈಗ ಅದು ಸ್ವಲ್ಪ ಹೆಚ್ಚು ಆಸಕ್ತಿಕರ ಪ್ರಕಟಗೊಳ್ಳಲಿದೆ.
ಲೈನ್ 243 ರಲ್ಲಿ, ನಾವು ಒಂದು int, ಸಿ ಘೋಷಿಸಿದ.
ಈ ಒಂದು ಸ್ಟುಪಿಡ್ ವಿವರ ರೀತಿಯ ಹೊಂದಿದೆ.
ಎ ಚಾರ್ 8 ಬಿಟ್ಗಳು, ಮತ್ತು 8 ಬಿಟ್ಗಳು ಎಷ್ಟು ವಿಭಿನ್ನ ಮೌಲ್ಯಗಳನ್ನು ಸಂಗ್ರಹಿಸಬಹುದು? >> [ವಿದ್ಯಾರ್ಥಿ] 256. >> 256.
ನೀವು ಇದರಲ್ಲಿ 256 ವಿವಿಧ ASCII ಅಕ್ಷರಗಳನ್ನು ಹೊಂದಿವೆ ನೀವು ಸಮಸ್ಯೆ
ನೀವು ಭಾವಿಸಿದರೆ - ಮತ್ತು ಈ ನೆನಪಿಟ್ಟುಕೊಳ್ಳುವ ಏನೋ ಅಲ್ಲ.
ಆ ದೊಡ್ಡ ASCII ಪಟ್ಟಿಯಲ್ಲಿ ಮರಳಿ ಭಾವಿಸುತ್ತೇನೆ ಆದರೆ ನಾವು ವಾರಗಳ ಹಿಂದೆ ಹೊಂದಿದ್ದ,
128 ಅಥವಾ 256 ASCII ಅಕ್ಷರಗಳನ್ನು ಆ ಸಂದರ್ಭದಲ್ಲಿ ಇರಲಿಲ್ಲ.
ನಾವು 0 ಸೆ ಮತ್ತು 1 ಅನ್ನು ಎಲ್ಲಾ ವಿನ್ಯಾಸಗಳನ್ನು ಬಳಸುತ್ತಾರೆ.
ನೀವು ದೋಷ ಪತ್ತೆ ಮಾಡಲು ಬಯಸಿದರೆ ಒಂದು ಸಮಸ್ಯೆ
ನೀವು ಈಗಾಗಲೇ ನಿಮ್ಮ ಪಾತ್ರಗಳಿಗೆ 256 ಮೌಲ್ಯಗಳನ್ನು ಬಳಸುತ್ತಿದ್ದರೆ ಏಕೆಂದರೆ,
ಈಗ ನೀವು ಹೇಳುವ ಯಾವುದೇ ರೀತಿಯಲ್ಲಿ ಏಕೆಂದರೆ ನೀವು ನಿಜವಾಗಿಯೂ, ಮುಂದೆ ಯೋಜನೆ ಇಲ್ಲ
ಇದು ಅಸಲಿ ಅಕ್ಷರವಾಗಿದೆ, ಈ ಕೆಲವು ತಪ್ಪಾದ ಸಂದೇಶ.
ಹಾಗಾಗಿ ವಿಶ್ವದ ಮಾಡುತ್ತದೆ ಮುಂದಿನ ದೊಡ್ಡ ಮೌಲ್ಯ, ಒಂದು int ಸ್ವಲ್ಪ, ಬಳಕೆಗೆ
ನೀವು 4 ಶತಕೋಟಿ ಸಾಧ್ಯವಿರುವ ಮೌಲ್ಯಗಳನ್ನು, ಬಿಟ್ಸ್, 32 ಒಂದು ಕ್ರೇಜಿ ಸಂಖ್ಯೆಯ ಆದ್ದರಿಂದ
ನೀವು ಸುಮ್ಮನೆ, ಮೂಲಭೂತವಾಗಿ 257 ಅವುಗಳಲ್ಲಿ ಬಳಸಿಕೊಂಡು ಕೊನೆಗೊಳ್ಳುತ್ತದೆ ಇದರಿಂದ
1 ಇದು ಒಂದು ದೋಷ ಕೆಲವು ವಿಶೇಷ ಅರ್ಥವನ್ನು ಹೊಂದಿದೆ.
>> ಇದರಿಂದ ಹೇಗೆ ಈ ಕೆಲಸಗಳನ್ನು ನೋಡೋಣ.
ಲೈನ್ 246 ರಲ್ಲಿ, ನಾನು, fgetc ಕರೆ ಇದೆ ಎಂದು ಈ ಸಂದರ್ಭದಲ್ಲಿ ದೊಡ್ಡ ಲೂಪ್ ಹೊಂದಿವೆ
ಎಫ್ ಅರ್ಥ ಕಡತ, ಆದ್ದರಿಂದ getc, ತದನಂತರ stdin.
ಇದು ಕೇವಲ ಕೀಬೋರ್ಡ್ ಸೂಚನೆಗಳನ್ನು ಓದಿ ಹೇಳುವ ಹೆಚ್ಚು ನಿಖರ ದಾರಿ ಔಟ್ ತಿರುಗುತ್ತದೆ.
ಪ್ರಮಾಣಿತ ಇನ್ಪುಟ್ ಸಾಧನವಾಗಿ ಕೀಬೋರ್ಡ್, ಪ್ರಮಾಣಿತ ಔಟ್ಪುಟ್, ಪರದೆಯ ಅರ್ಥ
ಮತ್ತು ನಾವು pset4 ರಲ್ಲಿ ನೋಡುತ್ತಾರೆ ಇದು ಸಾಮಾನ್ಯ ದೋಷ, ಪರದೆಯ ಅರ್ಥ
ಆದರೆ ಇದು ನಿಜವಾದ ಔಟ್ಪುಟ್ ಪರದೆ ವಿಶೇಷ ಭಾಗವನ್ನು ಒಟ್ಟುಗೂಡಿಸಿ ದೊರೆಯದಿದ್ದಲ್ಲಿ ಆದ್ದರಿಂದ
ನೀವು ಮುದ್ರಿಸಬೇಕೆಂದು ಉದ್ದೇಶ ಎಂದು. ಭವಿಷ್ಯದಲ್ಲಿ ಆ ಆದರೆ.
ಆದ್ದರಿಂದ fgetc ಕೇವಲ ಕೀಬೋರ್ಡ್ ಒಂದು ಅಕ್ಷರವನ್ನೂ ಓದಲು ಮತ್ತು ಅಲ್ಲಿ ಅದನ್ನು ಸಂಗ್ರಹಿಸಲು ಅರ್ಥ?
ಸಿ ಅದನ್ನು ಸಂಗ್ರಹಿಸಿ.
ನಂತರ ಪರಿಶೀಲಿಸಿ - ಆದ್ದರಿಂದ ನಾನು ಇಲ್ಲಿ ಕೆಲವು ಬೂಲಿಯನ್ ಸಂಯೋಗಗಳು ಬಳಸಿಕೊಂಡು ನಾನು -
ಇದು ಸಮಾನ ಮಾಡುವುದಿಲ್ಲ ಎಂದು ಪರಿಶೀಲಿಸಿ - \ N, ಆದ್ದರಿಂದ ಬಳಕೆದಾರರು ನಮೂದಿಸಿ ಬಾರಿಸಿದ್ದಾರೆ, ನಾವು ಆ ಸಮಯದಲ್ಲಿ ನಿಲ್ಲಿಸಲು ಬಯಸುವ,
ಲೂಪ್ ಅಂತ್ಯಕ್ಕೆ - ಮತ್ತು ನಾವು ವಿಶೇಷ ಸ್ಥಿರ EOF ಪರಿಶೀಲಿಸಲು ಬಯಸುವ,
ನಿಮಗೆ ಅಥವಾ ಊಹೆ ಅದನ್ನು ಯಾವ ಇದು ಉದ್ಧೇಶವೇನು? ಕಡತದ >> [ವಿದ್ಯಾರ್ಥಿ] ಎಂಡ್. ಕಡತದ >> ಎಂಡ್.
ಈ ರೀತಿಯ ಅಸಂಬದ್ಧ ಏಕೆಂದರೆ ನಾನು ಕೀಬೋರ್ಡ್ ನಲ್ಲಿ ಟೈಪ್ ಭಾವಿಸುತ್ತೇನೆ ವೇಳೆ,
ಈ ಒಳಗೊಂಡಿರುವ ಯಾವುದೇ ಕಡತ, ನಿಜವಾಗಿಯೂ ಇಲ್ಲ
ಆದರೆ ಕೇವಲ ಬಳಸಲಾಗುತ್ತದೆ ಜೆನೆರಿಕ್ ಪದದ ವಿಂಗಡಿಸಲು ಇದೆ
ಬೇರೆ ಯಾವುದೂ ಮಾನವನ ಬೆರಳುಗಳು ಬರುವ ಇದೆ.
EOF - ಕಡತದ ಕೊನೆಯಲ್ಲಿ.
ನೀವು ಎಂದಾದರೂ ನಿಮ್ಮ ಕೀಬೋರ್ಡ್ ನಲ್ಲಿ ಕಂಟ್ರೋಲ್ ಡಿ ಹೊಡೆಯಲು ನೀವು ಒಂದು ಪಕ್ಕಕ್ಕೆ, ನೀವು ಇನ್ನೂ ಹೊಂದಿದೆ ಎಂದು ಮಾಹಿತಿ -
ನೀವು ಕಂಟ್ರೋಲ್ ಸಿ ಹಿಟ್ ಮಾಡಿದ - ಕಂಟ್ರೋಲ್ ಡಿ EOF ಎಂದು ಈ ವಿಶೇಷ ಸ್ಥಿರ ಕಳುಹಿಸುತ್ತದೆ.
ಈಗ ನಾವು ಕೆಲವು ಕ್ರಿಯಾಶೀಲ ಸ್ಮರಣೆ ಹಂಚಿಕೆ ಹೊಂದಿರುತ್ತವೆ.
>> ಆದ್ದರಿಂದ (n + 1> ಸಾಮರ್ಥ್ಯ). ಈಗ ನಾನು N ವಿವರಿಸಲು ಮಾಡುತ್ತೇವೆ.
ಎನ್ ಕೇವಲ ಎಷ್ಟು ಬೈಟ್ಗಳು, ಬಫರ್ ಪ್ರಸ್ತುತ ಇದೆ
ನೀವು ಪ್ರಸ್ತುತ ಬಳಕೆದಾರರ ನಿರ್ಮಿಸುವ ನೀವು ಸ್ಟ್ರಿಂಗ್.
ನೀವು ಬಫರ್ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿರುವ ಹೆಚ್ಚು ನಿಮ್ಮ ಬಫರ್ ಹೆಚ್ಚು ಪಾತ್ರಗಳು ಹೊಂದಿದ್ದರೆ,
ಅಂತರ್ಬೋಧೆಯಿಂದ ನಾವು ಏನನ್ನು ಮಾಡಬೇಕು ಹೆಚ್ಚು ಸಾಮರ್ಥ್ಯವನ್ನು ನಿಯೋಜಿಸಿ ಇದೆ.
ಹಾಗಾಗಿ ಇಲ್ಲಿ ಅಂಕಗಣಿತದ ಕೆಲವು ಮೇಲೆ ಕೆನೆರಹಿತ ಮತ್ತು ಇಲ್ಲಿ ಮಾತ್ರ ಈ ಕಾರ್ಯವನ್ನು ಗಮನ ಪಡೆಯಲಿದ್ದೇನೆ.
ನೀವು malloc ಏನು ತಿಳಿದಿರುವ ಅಥವಾ ಕನಿಷ್ಠ ಸಾಮಾನ್ಯವಾಗಿ ಚಿರಪರಿಚಿತವಾಗಿದೆ.
Realloc ಏನು ಒಂದು ಊಹೆ ತೆಗೆದುಕೊಳ್ಳಿ. >> [ವಿದ್ಯಾರ್ಥಿ] ಮೆಮೊರಿ ಸೇರಿಸುತ್ತದೆ.
ಇದು ಸಾಕಷ್ಟು ಸ್ಮೃತಿಯಲ್ಲಿ ಅಲ್ಲ. ಇದು ಈ ಕೆಳಗಿನಂತೆ ಮೆಮೊರಿ reallocates.
ಆ ಮೆಮೊರಿ ಹೆಚ್ಚು ನೀಡಲು ಸ್ಟ್ರಿಂಗ್ ಕೊನೆಯಲ್ಲಿ ಕೊಠಡಿ ಇನ್ನೂ ವೇಳೆ
ಇದು ಮೂಲತಃ ನೀವು ನೀಡುತ್ತದೆ, ನಂತರ ನೀವು ಹೆಚ್ಚುವರಿ ಮೆಮೊರಿ ಪಡೆಯುತ್ತೀರಿ.
ಆದ್ದರಿಂದ ನೀವು ಹಿಂದಕ್ಕೆ ಮರಳಿ ಮರಳಿ ಮರಳಿ ಸ್ಟ್ರಿಂಗ್ ಪಾತ್ರಗಳು ಪುಟ್ಟಿಂಗ್ ಇರಿಸಬಹುದು.
ಆ ಸಂದರ್ಭದಲ್ಲಿ ಅಲ್ಲ ಆದರೆ ನೀವು ಬಹಳ ವಿಳಂಬ ಕಾರಣ
ಮತ್ತು ಯಾದೃಚ್ಛಿಕ ಏನೋ ನೆನಪಿಗಾಗಿ plopped ಪಡೆದುಕೊಂಡಿದೆ
ಆದರೆ ಹೆಚ್ಚುವರಿ ಮೆಮೊರಿ ಇಲ್ಲಿ ಕೆಳಗೆ ಇತ್ತು, ಆ ಸರಿಯಾಗಿಯೆ.
Realloc, ನೀವು ಎಲ್ಲಾ ಭಾರೀ ತರಬೇತಿ ಮಾಡಲು ಹೋಗುತ್ತದೆ
, ನೀವು ಇದುವರೆಗಿನ ಇಲ್ಲಿಂದ ರಲ್ಲಿ ಓದಿದ ಸ್ಟ್ರಿಂಗ್ ಸರಿಸಲು ಅದು ಅಲ್ಲಿ ಪತನವಾದರೆ,
ತದನಂತರ ಆ ಹಂತದಲ್ಲಿ ಕೆಲವು ಹೆಚ್ಚು ರನ್ವೇ ನೀಡಿ.
>> ಆದ್ದರಿಂದ ಕೈ ಅಲೆಗಳು, ನನಗೆ ಏನು GetString ಮಾಡುವುದರಿಂದ ಎಂದು ಹೇಳಲು ಅವಕಾಶ
ಇದು ಒಂದು ಸಣ್ಣ ಬಫರ್, ಬಹುಶಃ ಒಂದೇ ಪಾತ್ರ, ಜೊತೆಗೆ ಶುರುವಾಗುತ್ತಿದೆ ಇದೆ
ಮತ್ತು ಎರಡು ಪಾತ್ರಗಳು ಬಳಕೆದಾರ ರೀತಿಯ ವೇಳೆ, GetString realloc ಕರೆ ಸೇರುತ್ತದೆ ಮತ್ತು ಹೇಳುತ್ತಾರೆ
ಒಂದು ಪಾತ್ರದ ಸಾಧ್ಯವಾಗಲಿಲ್ಲ; ನನಗೆ ಎರಡು ಪಾತ್ರಗಳು ನೀಡಿ.
ನೀವು ಲೂಪ್ ನ ತರ್ಕ ಓದಲು ನಂತರ ಅದನ್ನು ಹೇಳಲು ವಿಶೇಷವೇನು
3 ಪಾತ್ರಗಳು ಬೆರಳಚ್ಚಿಸಿದ ಬಳಕೆದಾರ;, ಈಗ ಅಲ್ಲ 2 ಆದರೆ 4 ಪಾತ್ರಗಳು ನನಗೆ ನೀಡಿ
ಆಗ ನನಗೆ 16 ಮತ್ತು 32 ನೀಡಿ ನಂತರ, ನನ್ನ 8 ನೀಡಿ.
ನಾನು ಸಾಮರ್ಥ್ಯವನ್ನು ಪ್ರತಿ ಬಾರಿ ದುಪ್ಪಟ್ಟುಗೊಳಿಸುವುದರಿಂದ ನಾನು ವಾಸ್ತವವಾಗಿ
ಬಫರ್ ನಿಧಾನವಾಗಿ ಬೆಳೆಯಲು ಹೋಗುತ್ತಿಲ್ಲ ಇದೆ ಅಂದರೆ, ಅದು ಅತೀ ವೇಗದ ಬೆಳೆಯಲು ವಿಶೇಷವೇನು.
ಮತ್ತು ಆ ಪ್ರಯೋಜನವನ್ನು ಇರಬಹುದು?
ನಾನು ಬಫರ್ ಗಾತ್ರದ ಡಬಲ್ ನಾನು
ಬಳಕೆದಾರ ಕೇವಲ ಕೀಬೋರ್ಡ್ ಒಂದು ಹೆಚ್ಚುವರಿ ಪಾತ್ರ ಬೇಕು ಕೂಡ?
[ಕೇಳಿಸುವುದಿಲ್ಲ ವಿದ್ಯಾರ್ಥಿ ಪ್ರತಿಕ್ರಿಯೆ] >> ಅದು ಯಾವುದು? >> [ವಿದ್ಯಾರ್ಥಿ] ನೀವು ಅದರ ಬೆಳವಣಿಗೆ ಹೊಂದಿಲ್ಲ.
ನಿಖರವಾಗಿ. ನೀವು ಅದರ ಬೆಳವಣಿಗೆ ಹೊಂದಿಲ್ಲ.
ಮತ್ತು ಇದು ಕೇವಲ ರೀತಿಯ, ಇಲ್ಲಿ ನಿಮ್ಮ ಪಂತಗಳನ್ನು ನಷ್ಟದ ನೀವು
ಕಲ್ಪನೆಯನ್ನು ನಿಧಾನ ತಳಿಗಿಂತ ಏಕೆಂದರೆ ನೀವು realloc ಸಾಕಷ್ಟು ಕರೆ ಬಯಸುವುದಿಲ್ಲ ಎಂಬುದು.
ನೀವು ಮೆಮೊರಿಗೆ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಕೇಳಿ ಯಾವುದೇ ಸಮಯ
ನೀವು ಬೇಗನೆ ಭವಿಷ್ಯದ ಸಮಸ್ಯೆ ಸೆಟ್ ನೋಡುತ್ತಾರೆ ಎಂದು, ಇದು ಸ್ವಲ್ಪ ಸಮಯ ತೆಗೆದುಕೊಳ್ಳಬಹುದು ಒಲವು.
ಆದ್ದರಿಂದ ನೀವು ಕೆಲವು ಜಾಗವನ್ನು ಹಾಳುಮಾಡುತ್ತಿದೆ ನೀವು ಸಹ, ಆ ಪ್ರಮಾಣವನ್ನು ತಗ್ಗಿಸುತ್ತದೆ,
ಒಳ್ಳೆಯದು ಕಾಣುತ್ತಾರೆ.
>> ಆದರೆ ನಾವು ಇಲ್ಲಿ GetString ಅಂತಿಮ ಭಾಗದ ಮೂಲಕ ಓದಲು -
ಮತ್ತೆ ಇಲ್ಲಿ ಪ್ರತಿಯೊಂದು ಸಾಲಿನ ಅರ್ಥ ಇಂದು ಅಷ್ಟು ಪ್ರಮುಖವಲ್ಲ -
ಅಂತಿಮವಾಗಿ ಮತ್ತೆ malloc ಅಪೇಕ್ಷಿಸುವ ಗಮನಕ್ಕೆ
ಇದು ತಂತಿಗೆ ಅಗತ್ಯವಿದೆ ಮತ್ತು ಅದು ಅನೇಕ ಬೈಟ್ಗಳು ಎಂದು ನಿಖರವಾಗಿ ಗೊತ್ತುಪಡಿಸುತ್ತದೆ
ತದನಂತರ ಉಚಿತ ಮಿತಿಮೀರಿದ ದೊಡ್ಡ ಬಫರ್ ಕರೆದು ದೂರ ಎಸೆಯುತ್ತಾನೆ
ಇದು ನಿಜವಾಗಿಯೂ ಹಲವಾರು ಬಾರಿ ದುಪ್ಪಟ್ಟು ಪಡೆದುಕೊಂಡಿದೆ ವೇಳೆ.
ಆದ್ದರಿಂದ ಸಣ್ಣ ರಲ್ಲಿ, ಆ GetString ಎಲ್ಲಾ ಈ ಕೆಲಸ ಮಾಡಲಾಗಿದೆ ಹೇಗೆ.
ಎಲ್ಲಾ ಇದು, ಮತ್ತೆ ಪುನಃ ಒಂದು ಸಮಯದಲ್ಲಿ ಒಂದು ಅಕ್ಷರ ಓದಲು ಇಲ್ಲ
ಮತ್ತು ಕೆಲವು ಹೆಚ್ಚುವರಿ ಮೆಮೊರಿ ಅಗತ್ಯವಿದೆ ಪ್ರತಿ ಬಾರಿ, ಇದು ಫಾರ್ ಕಾರ್ಯವ್ಯವಸ್ಥೆಯನ್ನು ಕೇಳುತ್ತದೆ
realloc ಕರೆದು.
>> ಯಾವುದೇ ಪ್ರಶ್ನೆಗಳು? ಎಲ್ಲಾ ಸರಿ.
>> ದಾಳಿ.
ಈಗ ನಾವು ಪಾಯಿಂಟರ್ಸ್ ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಅಥವಾ ಕನಿಷ್ಠ ಪಾಯಿಂಟರ್ಸ್ ಹೆಚ್ಚು ತಿಳಿದಿದೆ
ಇಡೀ ವಿಶ್ವದ ಕುಸಿಯಲು ಆರಂಭಿಸುತ್ತದೆ ಹೇಗೆ ಪರಿಗಣಿಸೋಣ
ನೀವು ತುಂಬಾ ವ್ಯತಿರಿಕ್ತ ಬಳಕೆದಾರರು ರಕ್ಷಿಸಿಕೊಳ್ಳಲು ಇದ್ದರೆ,
ನಿಮ್ಮ ವ್ಯವಸ್ಥೆಯ ಹ್ಯಾಕ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸುವ ಜನರು,
ಕೆಲವು ನೋಂದಣಿ ಕೋಡ್ ತಪ್ಪಿಸಿಕೊಳ್ಳುವ ಮೂಲಕ ನಿಮ್ಮ ಸಾಫ್ಟ್ವೇರ್ ಕದಿಯಲು ಪ್ರಯತ್ನಿಸುವ ಜನರು
ಇಲ್ಲದಿದ್ದರೆ ಸೈನ್ ಟೈಪ್ ಮಾಡಬೇಕು ಎಂದು
>> ಕೆಳಭಾಗದಲ್ಲಿ ಮುಖ್ಯ ಕ್ರಿಯೆಯಾಗಿ ಹೊಂದಿರುವ ಕೇವಲ ಸಿ ಕೋಡ್ ಇದು, ಇಲ್ಲಿ ಈ ಉದಾಹರಣೆಯನ್ನು ನೋಡಿ
ಒಂದು ಫಂಕ್ಷನ್ foo ಕರೆಗಳನ್ನು. ಮತ್ತು ಅದರ foo ಹಾದು ಇದೆ?
[ವಿದ್ಯಾರ್ಥಿ] ಒಂದು ವಾದ. >> [Malan] ಒಂದು ವಾದ.
ಆದ್ದರಿಂದ argv [1], ಇದು ಬಳಕೆದಾರ ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ಟೈಪಿಸಿದ ಈ ಮೊದಲ ಪದದ ಅರ್ಥ
a.out ಅಥವಾ ಯಾವುದೇ ನಂತರ ಪ್ರೋಗ್ರಾಂ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ.
ಮೇಲ್ಭಾಗದಲ್ಲಿ foo ಒಂದು ಚಾರ್ * ರಲ್ಲಿ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ ಆದ್ದರಿಂದ. ಆದರೆ ಚಾರ್ * ಕೇವಲ ಏನು? >> [ವಿದ್ಯಾರ್ಥಿ] ಸರಣಿ.
[Malan] ಸರಣಿ, ಹೊಸ ಏನೂ ಇಲ್ಲಿ ಇಲ್ಲ ಆದ್ದರಿಂದ.
ಒಂದು ತಂತುವಿನ ನಿರಂಕುಶವಾಗಿ ಬಾರ್ ಎಂದು ಮಾಡಲಾಗುತ್ತಿದೆ.
ಇಲ್ಲಿ ಈ ಸಾಲಿನಲ್ಲಿ, ಚಾರ್ ಸಿ [12]; ಅರೆ ತಾಂತ್ರಿಕ ಇಂಗ್ಲೀಷ್ ರೀತಿಯ ರಲ್ಲಿ, ಈ ಸಾಲಿನ ಮಾಡುತ್ತಿರುವುದಾದರೂ ಏನು?
ದಿ [ವಿದ್ಯಾರ್ಥಿ] ಒಂದು ಸರಣಿ - ಆಫ್ >> ಅರೇ? >> [ವಿದ್ಯಾರ್ಥಿ] ಪಾತ್ರಗಳು. >> ಪಾತ್ರಗಳು.
ನನಗೆ 12 ಪಾತ್ರಗಳು ಒಂದು ಶ್ರೇಣಿಯನ್ನು ನೀಡಿ. ಆದ್ದರಿಂದ ನಾವು ಈ ಒಂದು ಬಫರ್ ಕರೆ ಇರಬಹುದು.
ಇದು ತಾಂತ್ರಿಕವಾಗಿ ಸಿ ಕರೆಯಲಾಗುತ್ತದೆ, ಆದರೆ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಒಂದು ಬಫರ್ ಕೇವಲ ಜಾಗವನ್ನು ಒಂದು ಗುಂಪೇ ಅರ್ಥ ನ
ನೀವು ಕೆಲವು ಸಂಗತಿಗಳನ್ನು ಸೈನ್ ಆ
ನಂತರ ಕೊನೆಯದಾಗಿ, memcpy ನಾವು ಮೊದಲು ಬಳಸದೆ ಮಾಡಿದ, ಆದರೆ ನೀವು ಬಹುಶಃ ಏನು ಊಹೆ ಮಾಡಬಹುದು.
ಇದು ಮೆಮೊರಿ ನಕಲಿಸುತ್ತದೆ. ಅದು ಏನು ಮಾಡುತ್ತದೆ?
ಇದು ಸ್ಪಷ್ಟವಾಗಿ ಸಿ ಆಗಿ, ತನ್ನ ಇನ್ಪುಟ್, ಬಾರ್ ನಕಲಿಸುತ್ತದೆ ಆದರೆ ಮಾತ್ರ ಪಟ್ಟಿಯ ಉದ್ದ.
ಆದರೆ ಇಲ್ಲಿ ಒಂದು ದೋಷ ಇಲ್ಲ. >> [ವಿದ್ಯಾರ್ಥಿ] ನೀವು sizeof ಪಾತ್ರದ ಅವಶ್ಯಕತೆ. ಸರಿ >>.
ತಾಂತ್ರಿಕವಾಗಿ, ನಾವು ನಿಜವಾಗಿಯೂ strlen ಹಾಗೆ (ಬಾರ್) * sizeof (ಚಾರ್)). ಮಾಡಬೇಕು ಅದು ಸರಿ.
ಆದರೆ ಇಲ್ಲಿ ಕೆಟ್ಟ ಸಂದರ್ಭದಲ್ಲಿ, ಅವರ ಆ that's ಊಹಿಸುತ್ತವೆ ಅವಕಾಶ -
ಸರಿ. ನಂತರ ಎರಡು ದೋಷಗಳು ಇಲ್ಲ.
ಆದ್ದರಿಂದ sizeof (ಚಾರ್));
ಇದನ್ನು ಸ್ವಲ್ಪ ಅಗಲವಾದ ಮಾಡೋಣ.
ಆದ್ದರಿಂದ ಈಗ ಇದು ಒಂದು ದೋಷವನ್ನು, ಇನ್ನೂ? >> [ಕೇಳಿಸುವುದಿಲ್ಲ ವಿದ್ಯಾರ್ಥಿ ಪ್ರತಿಕ್ರಿಯೆ]
ಏನು ಪರಿಶೀಲಿಸಿ? >> [ವಿದ್ಯಾರ್ಥಿ] ಸಾಂಕೇತಿಕಕೊಂಡಿಯು ಪರಿಶೀಲಿಸಿ.
ಕೆಟ್ಟ ಸಂಗತಿಗಳು ಸಂಭವಿಸುತ್ತವೆ ಏಕೆಂದರೆ ನಾವು ಸಾಮಾನ್ಯವಾಗಿ ಸಾಂಕೇತಿಕಕೊಂಡಿಯು ಪರಿಶೀಲಿಸುತ್ತಿದೆ ಮಾಡಬೇಕು
ನೀವು ಅಲ್ಲಿಗೆ ಹೋಗುವುದನ್ನು ಅಂತ್ಯಗೊಳಿಸಲು ಏಕೆಂದರೆ ನಿಮ್ಮ ಪಾಯಿಂಟರ್ ಸಾಂಕೇತಿಕಕೊಂಡಿಯು ಯಾವಾಗ
ಮತ್ತು ನೀವು ಎಂದಾದರೂ ನಕ್ಷತ್ರ ಆಯೋಜಕರು ಅದನ್ನು dereferencing ಮೂಲಕ ಶೂನ್ಯ ಹೋಗುವ ಮಾಡಬಾರದು.
ಆದ್ದರಿಂದ ಒಳ್ಳೆಯದು. ಮತ್ತು ನಾವು ಬೇರೆ ಏನು ಮಾಡುತ್ತಿದ್ದಿಯಾ? ತಾರ್ಕಿಕವಾಗಿ, ಒಂದು ನ್ಯೂನತೆಯು ತುಂಬಾ ಇಲ್ಲಿ ಇಲ್ಲ.
[ವಿದ್ಯಾರ್ಥಿ] argc> = 2 ವೇಳೆ ಪರಿಶೀಲಿಸಿ.
Argc> = 2 ವೇಳೆ ಆದ್ದರಿಂದ ಪರಿಶೀಲಿಸಿ. ಸರಿ, ಈ ಕಾರ್ಯಕ್ರಮದಲ್ಲಿ ಮೂರು ದೋಷಗಳು ಇಲ್ಲಿ ಇಲ್ಲ ಆದ್ದರಿಂದ.
ಬಳಕೆದಾರ ವಾಸ್ತವಿಕವಾಗಿ argv ಒಳಗೆ ಏನು ಬೆರಳಚ್ಚಿಸಿದ ನಾವು ಈಗ ಪರೀಕ್ಷಿಸುವ ನೀವು [1]. ಗುಡ್.
ಆದ್ದರಿಂದ ಮೂರನೇ ದೋಷ ಎಂಬುದರ? ಹೌದು. >> [ವಿದ್ಯಾರ್ಥಿ] ಸಿ ಸಾಕಷ್ಟು ದೊಡ್ಡ ಇರಬಹುದು.
ಗುಡ್. ನಾವು ಒಂದು ಸನ್ನಿವೇಶದಲ್ಲಿ ಪರಿಶೀಲಿಸಿದ.
ನಾವು ನಿಸ್ಸಂಶಯವಾಗಿ ಬಾರ್ ಉದ್ದವನ್ನು ಮೀರುತ್ತದೆ ಹೆಚ್ಚು ಮೆಮೊರಿ ನಕಲಿಸಬೇಡಿ ಪರಿಶೀಲಿಸಿದ.
ಆದ್ದರಿಂದ ಸ್ಟ್ರಿಂಗ್ ವೇಳೆ ಬೆರಳಚ್ಚಿಸಿದ ಬಳಕೆದಾರ 10 ಪಾತ್ರಗಳು ಉದ್ದವಾಗಿದೆ,
ಇದು ಕೇವಲ 10 ಅಕ್ಷರಗಳನ್ನು ಕಾಪಿ ಹೇಳುತ್ತಾರೆ. ಮತ್ತು ಸರಿಯಾಗಿಯೆ.
ಆದರೆ ಬಳಕೆದಾರರು 20 ಅಕ್ಷರ ಪದ ನಂತಹ ಪ್ರಾಂಪ್ಟಿನಲ್ಲಿ ಪದ ಯಾವ ಟೈಪಿಸಿದ ವೇಳೆ?
ಈ ಯಾವುದನ್ನು ಪಟ್ಟಿಯಿಂದ ಪ್ರತಿಯನ್ನು 20 ಪಾತ್ರಗಳು ಹೇಳುತ್ತಾರೆ?
ಇಲ್ಲದಿದ್ದರೆ ನಮ್ಮ ಬಫರ್ ಎಂದು ಸಿ, ಇದು ನೀವು ಡೇಟಾವನ್ನು ಬರೆದರು ಅರ್ಥ
ನೀವು ಮಾಡಿಕೊಳ್ಳುವುದಿಲ್ಲ 8 ಬೈಟ್ ಸ್ಥಾನಗಳಿಗೆ,
ಮತ್ತು ನೀವು ಅವುಗಳನ್ನು ನಿಯೋಜಿತವಾದ ಎಂದಿಗೂ ಆ ಅರ್ಥದಲ್ಲಿ ಅವುಗಳನ್ನು ಹೊಂದಿಲ್ಲ.
ಆದ್ದರಿಂದ ಇದು ಸಾಮಾನ್ಯವಾಗಿ ಅತಿ ಹೆಚ್ಚು ಬಫರ್ ದಾಳಿ ಅಥವಾ ಬಫರ್ ಅತಿಕ್ರಮಣ ದಾಳಿ ಎಂದು ಏನನ್ನು ಹೊಂದಿದೆ.
ಮತ್ತು ಇದು ಅರ್ಥದಲ್ಲಿ ಒಂದು ದಾಳಿ ಎಂದು ವೇಳೆ ಬಳಕೆದಾರ ಅಥವಾ ನಿಮ್ಮ ಕಾರ್ಯವನ್ನು ಕರೆ ಎಂದು ಪ್ರೋಗ್ರಾಂ
ವಾಸ್ತವವಾಗಿ ಮುಂದಿನ ಏನಾಗುತ್ತದೆ, ದುರುದ್ಧೇಶಪೂರಿತವಾಗಿ ಈ ರೀತಿ ಇದೆ ವಾಸ್ತವವಾಗಿ ಸಾಕಷ್ಟು ಕೆಟ್ಟ ಆಗಿರಬಹುದು.
>> ಆದ್ದರಿಂದ ನ ಇಲ್ಲಿ ಈ ಚಿತ್ರವನ್ನು ಅವಲೋಕಿಸೋಣ.
ಈ ಚಿತ್ರವನ್ನು ಮೆಮೊರಿಯ ನಿಮ್ಮ ಸ್ಟಾಕ್ ಪ್ರತಿನಿಧಿಸುತ್ತದೆ.
ನೀವು ಒಂದು ಕಾರ್ಯ ಕರೆ ಪ್ರತಿ ಬಾರಿ ನೀವು ಸ್ಟಾಕ್ ಈ ಕಡಿಮೆ ಫ್ರೇಮ್ ಪಡೆಯಲು ಸ್ಮರಿಸುತ್ತಾರೆ
ನಂತರ ಮತ್ತೊಂದು ತದನಂತರ ಮತ್ತೊಂದು ಮತ್ತೊಂದು.
ಮತ್ತು ಇದುವರೆಗಿನ, ನಾವು ಕೇವಲ ರೀತಿಯ ಮಾಡಿದ ಈ ಆಯತಗಳನ್ನು ಮಾಹಿತಿ ಬೇರ್ಪಡಿಸಿದರೆ
ಮಂಡಳಿಯಲ್ಲಿ ಅಥವಾ ಇಲ್ಲಿ ತೆರೆಯಲ್ಲಿ ಒಂದೋ.
ಆದರೆ ನಾವು ನೀವು ಒಂದು ಕಾರ್ಯ foo ​​ಕರೆ ಮಾಡಿದಾಗ ಆ ಆಯತಗಳನ್ನು ಒಂದು ಮೇಲೆ ಜೂಮ್ ವೇಳೆ,
ಇದು ಹೆಚ್ಚು ಎಂದು ಆಯಾತ ಆ ಫ್ರೇಮ್ನ ಸ್ಟಾಕ್ ಒಳಗೆ ಇಲ್ಲ ಎಂದು ತಿರುಗುತ್ತದೆ
ಹೆಚ್ಚು ನಾವು ಸ್ವಾಪ್ ಬಗ್ಗೆ ಮಾಡಲಿಲ್ಲ ಹಾಗೆ ಕೇವಲ X ಮತ್ತು Y ಮತ್ತು ಒಂದು ಮತ್ತು ಬಿ,.
ಇದು ಕಡಿಮೆ ಮಟ್ಟದ ವಿವರಗಳು ರಿಟರ್ನ್ ವಿಳಾಸ ಅವರಲ್ಲಿ ಇಲ್ಲ ಎಂದು ತಿರುಗುತ್ತದೆ.
ಮುಖ್ಯ foo ​​ಕರೆಗಳನ್ನು ಅದು ತಿರುಗಿದರೆ, ಮುಖ್ಯ foo ​​ತಿಳಿಸಲು ಹೊಂದಿದೆ
ಯಾವ ಮುಖ್ಯ ವಿಳಾಸ ಕಂಪ್ಯೂಟರ್ನ ಮೆಮೊರಿ ಹೊಂದಿದೆ
ಇಲ್ಲವಾದಲ್ಲಿ, ತಕ್ಷಣ foo ಮಾಹಿತಿ, ಇಲ್ಲಿ ಈ ವಿಷಯದಲ್ಲಿ, ಪಾಲಿಸಲು ಮಾಡಲಾಗುತ್ತದೆ
ಒಮ್ಮೆ, foo ಕೊನೆಯಲ್ಲಿ ಈ ಮುಚ್ಚಿದ ಸುರುಳಿಯಾದ ಬ್ರೇಸ್ ತಲುಪಲು
ಕಾರ್ಯಕ್ರಮದ ನಿಯಂತ್ರಣ ಹೋಗಿ ಹೇಳಲಾಗುವ ಅಲ್ಲಿ ಹೇಗೆ ಬೀಟಿಂಗ್ foo ತಿಳಿದಿದೆಯೇ?
ಆ ಪ್ರಶ್ನೆಗೆ ಉತ್ತರ ಇಲ್ಲಿ ಈ ಕೆಂಪು ಆಯತ ಎಂದು ಔಟ್ ಆರಂಭಿಸುತ್ತದೆ.
ಈ ಒಂದು ಪಾಯಿಂಟರ್ ಪ್ರತಿನಿಧಿಸುತ್ತದೆ, ಮತ್ತು ತಾತ್ಕಾಲಿಕವಾಗಿ ಶೇಖರಿಸಿಡಲು ಕಂಪ್ಯೂಟರ್ ಬಿಟ್ಟಿದ್ದು
ಕರೆಯಲ್ಪಡುವ ಸ್ಟಾಕ್ ಮೇಲೆ ಎಷ್ಟು ಬೇಗ foo ಎಂದು ಮುಖ್ಯ ವಿಳಾಸವನ್ನು ಪಾಲಿಸಲು ಮಾಡಲಾಗುತ್ತದೆ,
ಕಂಪ್ಯೂಟರ್ ಅಲ್ಲಿ ಮತ್ತು ಹಿಂತಿರುಗಿ ಮುಖ್ಯ ಯಾವ ಸಾಲು ತಿಳಿದಿದೆ.
ಉಳಿಸಿದ ಫ್ರೇಮ್ ಪಾಯಿಂಟರ್ ಈ ರೀತಿಯಲ್ಲಿ ಸಂಬಂಧಿಸಿದೆ.
ಇಲ್ಲಿ ಚಾರ್ * ಬಾರ್ ಏನನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ?
ಈಗ ಈ ನೀಲಿ ಭಾಗವನ್ನು ಇಲ್ಲಿ foo ನ ಫ್ರೇಮ್ ಹೊಂದಿದೆ. ಬಾರ್ ಎಂದರೇನು?
ಬಾರ್ ಕೇವಲ foo ಕಾರ್ಯನಿರ್ವಹಿಸಲು ವಾದವು.
ಈಗ ನಾವು ಪರಿಚಿತ ಚಿತ್ರದ ರೀತಿಯ ಹಿಂದೆ ಆರ್.
ತೆರೆಯ ಮೇಲೆ ಹೆಚ್ಚು ವಿಷಯವನ್ನು ಹೆಚ್ಚು ಗೊಂದಲ, ಇಲ್ಲ
ಆದರೆ ಈ ಬೆಳಕಿನ ನೀಲಿ ವಿಭಾಗದಲ್ಲಿ ನಾವು chalkboard ರಚಿಸಿದರು ನಾವು ಏನು
ಸ್ವಾಪ್ ರೀತಿಯ ಫಾರ್. ಆ foo ಗೆ ಚೌಕಟ್ಟನ್ನು ಹೊಂದಿದೆ.
ಮತ್ತು ಇದು ಕೇವಲ ವಿಷಯ ಇದೀಗ ಈ ನಿಯತಾಂಕ, ಇದು ಪಟ್ಟಿಯನ್ನು ಹೊಂದಿದೆ.
ಆದರೆ ಬೇರೆ ಯಾವ ಇಲ್ಲಿ ಈ ಕೋಡ್ ಪ್ರಕಾರ ಸ್ಟಾಕ್ ಇರಬೇಕು?
[ವಿದ್ಯಾರ್ಥಿ] ಚಾರ್ ಸಿ [12]. >> [Malan] ಚಾರ್ ಸಿ [12].
ನಾವು, ಸಿ, ಎಂಬ ಮಾರ್ಪಡಿಸಬಹುದಾದ ಮಂಜೂರು ಮೆಮೊರಿಯ 12 ಚೌಕಗಳನ್ನು ನೋಡಿ ಮಾಡಬೇಕು
ಮತ್ತು ವಾಸ್ತವವಾಗಿ ನಾವು ತೆರೆಯ ಮೇಲೆ ಪಡೆದಿವೆ.
ತುದಿಯನ್ನು ಇಲ್ಲ ಸಿ [0] ಈ ಚಿತ್ರದ, ಮತ್ತು ನಂತರ ಲೇಖಕ
ಚೌಕಗಳನ್ನು ಎಲ್ಲಾ ಸೆಳೆಯುವಲ್ಲಿ ತೊಂದರೆಯಾದರೆ, ಆದರೆ 12 ನಿಜಕ್ಕೂ ಇವೆ ಇಲ್ಲ
ಏಕೆಂದರೆ ನೀವು ಕೆಳಗಿನ ಬಲಭಾಗದಲ್ಲಿ ನೋಡಿದರೆ, ಸಿ [11] ನೀವು 0 ರಿಂದ ಎಣಿಕೆ ವೇಳೆ 12 ಇಂತಹ ಬೈಟ್.
ಆದರೆ ಇಲ್ಲಿ ಸಮಸ್ಯೆ.
ಸಿ ಯಾವ ದಿಕ್ಕಿನಲ್ಲಿ ಬೆಳೆಯುತ್ತಿದೆ?
ರೀತಿಯ ಮೇಲ್ಭಾಗದಲ್ಲಿ ಆರಂಭವಾಗಿ ಕೆಳಕ್ಕೆ ಬೆಳೆದರೆ ಕೆಳಕ್ಕೆ ನ.
ನಾವು ಇಲ್ಲಿ ನಾವೇ ಹೆಚ್ಚು ರನ್ವೇ ಬಿಟ್ಟು ಎಂದು ತೋರುತ್ತಿಲ್ಲ.
ನಾವು ರೀತಿಯ, ಒಂದು ಮೂಲೆಯಲ್ಲಿ ನಾವೇ ಬಣ್ಣ ಮಾಡಿದ
ಮತ್ತು ಸಿ [11] ಉಳಿಸಲಾಗಿದೆ ಫ್ರೇಮ್ ಪಾಯಿಂಟರ್ ವಿರುದ್ಧ ಬಲಕ್ಕೆ ಇದು ಬಾರ್ ವಿರುದ್ಧ ಬಲ ಅಪ್,
ಇದು ರಿಟರ್ನ್ ವಿಳಾಸ ವಿರುದ್ಧ ಬಲ ಅಪ್. ಯಾವುದೇ ಅವಕಾಶವಿಲ್ಲ.
ನೀವು ಸ್ಕ್ರೂ ಆದ್ದರಿಂದ ಸೂಚನೆಯ ನಂತರ ಇಲ್ಲಿದೆ
ಮತ್ತು ನೀವು 12 ಬೈಟ್ ಬಫರ್ ಆಗಿ 20 ಬೈಟ್ಗಳು ಓದಲು ಪ್ರಯತ್ನಿಸಿ?
ಅಲ್ಲಿ ಆ 8 ಹೆಚ್ಚುವರಿ ಬೈಟ್ಗಳು ಹೋಗುತ್ತಿದ್ದೇವೆ? >> [ವಿದ್ಯಾರ್ಥಿ] ಇನ್ಸೈಡ್ -
ಎಲ್ಲವೂ ಒಳಗೆ, ಇದು ಕೆಲವು ಪ್ರಮುಖ ಸೂಪರ್ ಆಗಿದೆ.
ಮತ್ತು ಅತ್ಯಂತ ಪ್ರಮುಖ ವಸ್ತು, ಸಾಮರ್ಥ್ಯ,,, ಅಲ್ಲಿ ರಿಟರ್ನ್ ವಿಳಾಸ ಕೆಂಪು ಬಾಕ್ಸ್
ಏಕೆಂದರೆ, ನೀವು ಆಕಸ್ಮಿಕವಾಗಿ ಅಥವಾ adversarially ಆ 4 ಬೈಟ್ಗಳು ಬದಲಿಸಿ ಎಂದು ತಿಳಿದಿದ್ದಾರೆ
ಕಸ ಆದರೆ ಹಲವಾರು ಕೇವಲ ಆ ಪಾಯಿಂಟರ್ ವಿಳಾಸಕ್ಕೆ,
ಆ ನೆನಪಿಗಾಗಿ ನಿಜವಾದ ವಿಳಾಸಕ್ಕೆ ಪ್ರತಿನಿಧಿಸಲು ಸಂಭವಿಸುತ್ತದೆ.
ತಾರ್ಕಿಕವಾಗಿ ಗೋಜಲನ್ನು, ಏನು? >> [ವಿದ್ಯಾರ್ಥಿ] ಫಂಕ್ಷನ್ ಬೇರೆ ಸ್ಥಳಕ್ಕೆ ಹಿಂದಿರುಗಿ ಹೋಗಿ ಇದೆ.
ನಿಖರವಾಗಿ.
Foo ಮರಳುತ್ತದೆ ಮತ್ತು ಹಿಟ್ ಸುರುಳಿಯಾದ ಬ್ರೇಸ್ ಎಂದು, ಪ್ರೋಗ್ರಾಂ ಮುಂದುವರೆಯಲು ಹತ್ತಿದರೆ
ಮುಖ್ಯ ಮರಳಲು ಅಲ್ಲ, ಅದು ಕೆಂಪು ಪೆಟ್ಟಿಗೆಯಲ್ಲಿ ಯಾವುದೇ ವಿಳಾಸಕ್ಕೆ ಮರಳಲು ವಿಶೇಷವೇನು.
>> ತಪ್ಪಿಸಿಕೊಳ್ಳುವ ತಂತ್ರಾಂಶ ನೋಂದಣಿ ಸಂದರ್ಭದಲ್ಲಿ,
ಶರೀರಕ್ಕೆ ಹಿಂದಿರುಗಿಸುವ ಎಂದು ವಿಳಾಸಕ್ಕೆ ಸಾಮಾನ್ಯವಾಗಿ ಕರೆಯಲಾಗುತ್ತದೆ ಗಳಿಸುವ ಕಾರ್ಯ ಹೀಗಾದರೆ
ನೀವು ತಂತ್ರಾಂಶ ಹಣ ಮತ್ತು ನಿಮ್ಮ ನೋಂದಣಿ ಕೋಡ್ ಇನ್ಪುಟ್? ಮಾಡಿದ ನಂತರ
ನೀವು ಇಲ್ಲಿ ಹೋಗುತ್ತಿಲ್ಲ ಆಗಿ ಟ್ರಿಕ್ ಕಂಪ್ಯೂಟರ್ನ ವಿಂಗಡಿಸಲು ಬದಲಿಗೆ ಇಲ್ಲಿ ಹೋಗಿ ಮಾಡಬಹುದು.
ನೀವು ನಿಜವಾಗಿಯೂ ಬುದ್ಧಿವಂತ ಇಂತಹ ಅಥವಾ, ಪ್ರತಿಕೂಲ ವಾಸ್ತವವಾಗಿ, ಉದಾಹರಣೆಗೆ, ಕೀಬೋರ್ಡ್ ನಲ್ಲಿ ಟೈಪ್ ಮಾಡಬಹುದು
ಒಂದು ನಿಜವಾದ ಪದ ಅಲ್ಲ 20 ಪಾತ್ರಗಳು, ಆದರೆ ಆತ ಅಥವಾ ಆಕೆ ವಾಸ್ತವವಾಗಿ ರೀತಿಯ ಇಟ್ಟುಕೋ
ಕೋಡ್ ಪ್ರತಿನಿಧಿಸುವ ಕೆಲವು ಪಾತ್ರಗಳು.
ಮತ್ತು ಸಿ ಕೋಡ್ ಎಂದು ಹೋಗುವ ಅಲ್ಲ, ಅದು ವಾಸ್ತವವಾಗಿ ಪಾತ್ರಗಳು ಎಂದು ವಿಶೇಷವೇನು
ಆ 0 ಸೆ ಮತ್ತು 1 ದ್ವಿಮಾನ ಯಂತ್ರದ ಕೋಡ್, ಪ್ರತಿನಿಧಿಸುತ್ತವೆ.
ಆದರೆ, ಅವರು ಹಾಗೆ ಸಾಕಷ್ಟು ಬುದ್ಧಿವಂತ ಆರ್ ಇಟ್ಟುಕೋ
ಹೇಗಾದರೂ ಮೂಲಭೂತವಾಗಿ ಕಂಪೈಲ್ ಕೋಡ್ ಎಂದು GetString ಪ್ರಾಂಪ್ಟ್ ಏನೋ ಅಂಟಿಸಿ ಗೆ,
ಮತ್ತು ಕೊನೆಯ 4 ಬೈಟ್ಗಳು ಎಂದು ರಿಟರ್ನ್ ವಿಳಾಸಕ್ಕೆ ಬದಲಿಸಿ.
ಮತ್ತು ಇನ್ಪುಟ್ ಯಾವ ವಿಳಾಸಕ್ಕೆ ಮಾಡುತ್ತದೆ?
ವಾಸ್ತವವಾಗಿ ಈ ಕೆಂಪು ಆಯತ ಬಫರ್ ಮೊದಲ ಬೈಟ್ ವಿಳಾಸಕ್ಕೆ ಅಂಗಡಿಗಳು.
, ಆದ್ದರಿಂದ ನೀವು ನಿಜವಾಗಿಯೂ ಬುದ್ಧಿವಂತ ಇರಬೇಕು, ಮತ್ತು ಇದನ್ನು ಅಲ್ಲಿ ಕೆಟ್ಟ ಜನರಿಗೆ ಪ್ರಯೋಗ ಮತ್ತು ದೋಷ ಬಹಳಷ್ಟು ಹೊಂದಿದೆ
ಆದರೆ ನೀವು ಈ ಬಫರ್ ಎಷ್ಟು ದೊಡ್ಡದಾಗಿದೆ ವ್ಯಕ್ತಿಯು ಒಂದು ವೇಳೆ
ಆದಾನ ಕಳೆದ ಕೆಲವು ಬೈಟ್ಗಳು ನೀವು ಪ್ರೋಗ್ರಾಂಗೆ ಒದಗಿಸುವ ಇಂತಹ
ನಿಮ್ಮ ಬಫರ್ ಪ್ರಾರಂಭವಾಗುವ ವಿಳಾಸಕ್ಕೆ ಸಮನಾಗಿರುತ್ತದೆ ಸಂಭವಿಸಿದಾಗ, ನೀವು ಇದನ್ನು ಮಾಡಬಹುದು.
ನಾವು ಸಾಮಾನ್ಯವಾಗಿ ಹಲೋ ಮತ್ತು \ 0 ಹೇಳಲು ವೇಳೆ, ಆ ಬಫರ್ ಸೇರುತ್ತದೆ ಇಲ್ಲಿದೆ.
ಆದರೆ ಹೆಚ್ಚು ಬುದ್ಧಿವಂತ ನೀವು ಮತ್ತು ನಾವು ಸಾರ್ವತ್ರಿಕವಾಗಿ ದಾಳಿಯ ಕೋಡ್ ಕರೆ ಮಾಡುತ್ತೇವೆ ಎಂಬುದನ್ನು ಆ ಬಫರ್ ತುಂಬಲು ವೇಳೆ -
AAA, ದಾಳಿ, ಆಕ್ರಮಣ, ದಾಳಿ - ಈ ಕೇವಲ ಕೆಟ್ಟ ಮಾಡದಿರುವಂಥದ್ದನ್ನು ವಿಷಯ ಅಲ್ಲಿ,
ನೀವು ನಿಜವಾಗಿಯೂ ಬುದ್ಧಿವಂತ ಆರ್ ಏನಾಗುತ್ತದೆ, ನೀವು ಇದನ್ನು ಮಾಡಬಹುದು.
80, C0, 35, 08 - ಇಲ್ಲಿ ಕೆಂಪು ಪೆಟ್ಟಿಗೆಯಲ್ಲಿ ಸಂಖ್ಯೆಗಳ ಅನುಕ್ರಮದ.
ಎಂದು ಇಲ್ಲಿ ಎಂದು ಸಂಖ್ಯೆಯನ್ನು ಹೋಲುತ್ತದೆ ಎಂಬುದನ್ನು ನೆನಪಿಡಿ.
ಹಿಮ್ಮುಖ ಕ್ರಮದಲ್ಲಿ, ಆದರೆ ಕೆಲವು ಬಾರಿ ಹೆಚ್ಚು.
ಮರಳಿ ವಿಳಾಸಕ್ಕೆ ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಬದಲಾಯಿಸಿತು ಎಂದು ಗಮನಿಸಿ
ಇಲ್ಲಿ ವಿಳಾಸಕ್ಕೆ ಅಪ್ ಸಮವಾಗಿದೆ, ಮುಖ್ಯ ಅಲ್ಲ ವಿಳಾಸಕ್ಕೆ.
ಕೆಟ್ಟ ವ್ಯಕ್ತಿ ಸೂಪರ್ ಸ್ಮಾರ್ಟ್ ಆದ್ದರಿಂದ, ಅವನು ಅಥವಾ ಅವಳು ದಾಳಿ ಕೋಡ್ ಸೇರಿಸಬಹುದು ಹೋಗುತ್ತದೆ
ಬಳಕೆದಾರನ ಕಡತಗಳನ್ನು ಎಲ್ಲಾ ಅಳಿಸಿ ಅಥವಾ ಪಾಸ್ವರ್ಡ್ಗಳನ್ನು ನಕಲಿಸಿ ಏನೋ ಹಾಗೆ
ಅಥವಾ ನಾನು ನಂತರ ಪ್ರವೇಶಿಸಲು ಒಂದು ಬಳಕೆದಾರ ಖಾತೆಯನ್ನು ರಚಿಸಿ - ಏನು ಎಲ್ಲ.
>> ಈ ಅಪಾಯ ಮತ್ತು ಸಿ ಶಕ್ತಿ ಎರಡೂ
ನೀವು ಪಾಯಿಂಟರ್ಗಳ ಮೂಲಕ ಮೆಮೊರಿ ಪ್ರವೇಶ ಏಕೆಂದರೆ
ಮತ್ತು ನೀವು ಆದ್ದರಿಂದ, ಒಂದು ಕಂಪ್ಯೂಟರ್ನ ಮೆಮೊರಿಗೆ ನೀವು ಏನು ಬರೆಯಬಹುದು
ನೀವು ಕಂಪ್ಯೂಟರ್ ನೀವು ಏನು ಮಾಡಬಹುದು
ಸರಳವಾಗಿ ಅದನ್ನು ತನ್ನದೇ ಮೆಮೊರಿ ಜಾಗವನ್ನು ಸುಮಾರು ಜಂಪ್ ನಂತರ.
ಆದ್ದರಿಂದ ಈ ದಿನ ಅನೇಕ ಕಾರ್ಯಕ್ರಮಗಳು ಮತ್ತು ಅನೇಕ ವೆಬ್ಸೈಟ್ಗಳು ಧಕ್ಕೆಯುಂಟಾಗಿದೆ ಎಂದು
ಈ ಅನುಕೂಲ ಪಡೆದು ಜನರಿಗೆ ಡೌನ್ ಹುಣ್ಣು.
ಮತ್ತು ಈ ಒಂದು ಸೂಪರ್ ಅತ್ಯಾಧುನಿಕ ದಾಳಿ ಹೋಲುವಂತಿದ್ದು ಇರಬಹುದು, ಆದರೆ ಯಾವಾಗಲೂ ಆ ರೀತಿಯಲ್ಲಿ ಆರಂಭಿಸಲು ಇಲ್ಲ.
ವಾಸ್ತವವಾಗಿ, ಯಾವ ಕೆಟ್ಟ ಜನರು ವಿಶಿಷ್ಟವಾಗಿ ಮಾಡುತ್ತದೆ ಎಂದು
ಇದು ಒಂದು ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ಒಂದು ಪ್ರೋಗ್ರಾಮ್ ಅಥವಾ ಒಂದು GUI ಪ್ರೋಗ್ರಾಂ ಅಥವಾ ಒಂದು ವೆಬ್ಸೈಟ್, ಆಗಿರುತ್ತದೆ
ನೀವು ಕೇವಲ ಅಸಂಬದ್ಧ ಒದಗಿಸುವ ಪ್ರಾರಂಭಿಸಿ.
ನೀವು ಹುಡುಕಾಟ ಕ್ಷೇತ್ರದಲ್ಲಿ ಮತ್ತು ಹಿಟ್ ನಮೂದಿಸಿ ಒಂದು ನಿಜವಾಗಿಯೂ ದೊಡ್ಡ ಪದವನ್ನು ನಮೂದಿಸಿ
ಮತ್ತು ನೀವು ವೆಬ್ಸೈಟ್ ಕ್ರ್ಯಾಶ್ ನೋಡಲು ನಿರೀಕ್ಷಿಸಿ
ಅಥವಾ ನೀವು ಕಾರ್ಯಕ್ರಮದ ಕೆಲವು ದೋಷ ಸಂದೇಶವನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ನೋಡಲು ನಿರೀಕ್ಷಿಸಿ
ನೀವು ಕೆಟ್ಟ ವ್ಯಕ್ತಿಯ ಅದೃಷ್ಟ ಪಡೆಯಲು ಮತ್ತು ನೀವು ಕೆಲವು ಅಸಾಮಾನ್ಯ ಇನ್ಪುಟ್ ಒದಗಿಸುತ್ತದೆ ಏಕೆಂದರೆ
ಪ್ರೋಗ್ರಾಮರ್ ನಿಮ್ಮ ಕೆಟ್ಟ ವರ್ತನೆ ನಿರೀಕ್ಷೆ ಇಟ್ಟುಕೊಂಡಿರಲಿಲ್ಲ ಅರ್ಥ ಪ್ರೋಗ್ರಾಂ, ಅಪಘಾತಗೊಂಡಿರುತ್ತದೆ ಎಂದು
ಇದು, ನೀವು ಸಾಕಷ್ಟು ಪ್ರಯತ್ನ, ಸಾಕಷ್ಟು ಪ್ರಯೋಗ ಮತ್ತು ದೋಷದೊಂದಿಗೆ ಬಹುಶಃ ಎಂದರ್ಥ
ಹೆಚ್ಚು ನಿಖರವಾದ ದಾಳಿ ಹೂಡಲು ಹೇಗೆ ಲೆಕ್ಕಾಚಾರ.
ಭದ್ರತೆಯ ಆದ್ದರಿಂದ ಹೆಚ್ಚು ಭಾಗವಾಗಿ ಕೇವಲ ಒಟ್ಟಾರೆಯಾಗಿ ಈ ದಾಳಿಗಳು ತಪ್ಪಿಸುವ ಇಲ್ಲ
ಆದರೆ ಅವುಗಳನ್ನು ಪತ್ತೆ ಮತ್ತು ವಾಸ್ತವವಾಗಿ ದಾಖಲೆಗಳನ್ನು ನೋಡಿ
ಮತ್ತು ಕ್ರೇಜಿ ಒಳಹರಿವು ನಿಮ್ಮ ವೆಬ್ಸೈಟ್ನಲ್ಲಿನ ಟೈಪಿಸಿದ ಜನರು ಏನು ನೋಡಿದ,
ಯಾವ ಹುಡುಕಾಟ ಪದಗಳು ನಿಮ್ಮ ವೆಬ್ಸೈಟ್ನಲ್ಲಿನ ಜನರು ಟೈಪ್ ಮಾಡಿದ
ಕೆಲವು ಬಫರ್ ಸುರಿಯುತ್ತಿರುವ ಭರವಸೆಯಲ್ಲಿ.
ಮತ್ತು ಸರಳ ಮೂಲಭೂತ ಈ ಎಲ್ಲಾ ಕುದಿಯುವ ಕೆಳಗೆ ಒಂದು ಶ್ರೇಣಿಯನ್ನು ನ
ಮತ್ತು ಅದರ ಮೆಮೊರಿ ನಿಯೋಜಿಸಿ ಮತ್ತು ಬಳಸಲು ಅರ್ಥವೇನು.
>> ಅದು ತುಂಬಾ ಇದು ಸಂಬಂಧಿಸಿದೆ.
ನ ಇನ್ನೂ ಮತ್ತೆ ಒಂದು ಹಾರ್ಡ್ ಡ್ರೈವ್ ಒಳಗೆ ಮಿಂಚು ಲೆಟ್.
ನೀವು ಹಿಂದೆ ಒಂದು ವಾರ ಅಥವಾ ಎರಡು ಹಿಂತೆಗೆದುಕೊಳ್ಳಬೇಕು ಎಂಬುದಾಗಿ ನಿಮ್ಮ ಮರುಬಳಕೆ ಬಿನ್ ಅಥವಾ ಕಸದ ತೊಟ್ಟಿ ಫೈಲ್ಗಳನ್ನು ಎಳೆಯಿರಿ ಆಗ
ಏನಾಗುತ್ತದೆ? >> [ವಿದ್ಯಾರ್ಥಿ] ನಥಿಂಗ್. >> ಖಂಡಿತವಾಗಲೂ ಇಲ್ಲ, ಬಲ?
ನೀವು ಡಿಸ್ಕ್ ಸ್ಪೇಸ್ ನಲ್ಲಿ ಕಡಿಮೆ ರನ್, ಅಂತಿಮವಾಗಿ ವೇಳೆ
ವಿಂಡೋಸ್ ಅಥವಾ ಮ್ಯಾಕ್ OS ನೀವು ಫೈಲ್ಗಳನ್ನು ಅಳಿಸಲು ಪ್ರಾರಂಭವಾಗುತ್ತದೆ.
ನೀವು ಏನಾದರೂ ಎಳೆಯಿರಿ ಆದರೆ, ಎಲ್ಲಾ ಸುರಕ್ಷಿತ ನಲ್ಲಿ ಅಲ್ಲ.
ಎಲ್ಲಾ ನಿಮ್ಮ ಕೊಠಡಿ ಸಹವಾಸಿ ಅಥವಾ ಕುಟುಂಬದ ಸದಸ್ಯರು ಅಥವಾ ಸ್ನೇಹಿತರು ಮಾಡಲು ಹೊಂದಿದೆ ಡಬಲ್ ಕ್ಲಿಕ್ ಮಾಡಿ, voila, ಇದೆ
ನೀವು ಅಳಿಸಲು ಪ್ರಯತ್ನಿಸಿದ ಎಲ್ಲಾ ಹುರುಳಿಲ್ಲದ ಕಡತಗಳು ಇಲ್ಲ.
ನಮಗೆ ಅತ್ಯಂತ ಕನಿಷ್ಠ ನೀವು ಬಲ ಕ್ಲಿಕ್ ಮಾಡಿ ಅಥವಾ ಕ್ಲಿಕ್ ನಿಯಂತ್ರಣ ಎಂಬುದನ್ನು
ಹಾಗೆ ಕಸ ಅಥವಾ ಏನೋ ಖಾಲಿ.
ಆದರೆ ನಂತರ ಸಾಕಷ್ಟು ಟ್ರಿಕ್ ಏನು ಎಂಬುದನ್ನು
ನಿಮ್ಮ ಹಾರ್ಡ್ ಡ್ರೈವಿನಲ್ಲಿ ಒಂದು ಫೈಲ್ ಹೊಂದಿದ್ದು, ಏನಾಗುತ್ತದೆ ಏಕೆಂದರೆ
, ಕೆಲವು ದಾಖಲ ಅಥವಾ ಕೆಲವು JPEG ಪ್ರತಿನಿಧಿಸುತ್ತದೆ, ಮತ್ತು ಇದು ನಿಮ್ಮ ಹಾರ್ಡ್ ಡ್ರೈವ್ ಪ್ರತಿನಿಧಿಸುತ್ತದೆ
ಮತ್ತು ಈಗ ಇಲ್ಲಿ ಈ ಹಚ್ಚೆ, ಫೈಲ್ ಪ್ರತಿನಿಧಿಸುತ್ತದೆ ಹೇಳುತ್ತಾರೆ
ಮತ್ತು 0 ಸೆ ಮತ್ತು 1 ಗಳ ಇಡೀ ಗುಂಪೇ ಒಳಗೊಂಡ ನ.
ನಿಮಗೆ ಮಾತ್ರ ಅನುಪಯುಕ್ತಕ್ಕೆ ಫೈಲ್ ಎಳೆಯಿರಿ ಅಲ್ಲ ಸಂಭವಿಸುತ್ತದೆ ಅಥವಾ ಬಿನ್ ಮರುಬಳಕೆ ಮಾಡಬಹುದು
ಆದರೆ ಅದು ಖಾಲಿ? ಯಾವುದೇ ರೀತಿಯ.
ಈಗ ಸಂಪೂರ್ಣವಾಗಿ ಏನೂ ಅಲ್ಲ.
ಸ್ವಲ್ಪ ಏನಾದರೂ ಈ ಟೇಬಲ್ ರೂಪದಲ್ಲಿ ಸಂಭವಿಸುತ್ತದೆ ಏಕೆಂದರೆ ಈಗ ಕೇವಲ ಏನೂ ಇಲ್ಲಿದೆ.
ಆದ್ದರಿಂದ ಒಂದು ಗಣಕದ ಮೆಮೊರಿಯ ಒಳಗೆ ಡೇಟಾಬೇಸ್ ಅಥವಾ ಮೇಜಿನ ರೀತಿಯ ಇಲ್ಲ
ಆ ಮೂಲಭೂತವಾಗಿ, ಕಡತಗಳನ್ನು ಒಂದು ಕಾಲಮ್ ಹೆಸರುಗಳು ಮತ್ತು ಕಡತಗಳನ್ನು ಒಂದು ಕಾಲಮ್ 'ಸ್ಥಳ ಹೊಂದಿದೆ
ಅಲ್ಲಿ ಈ ಸ್ಥಳ 123, ಕೇವಲ ಒಂದು ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆ ಇರಬಹುದು.
ನಾವು x.jpeg ಮತ್ತು ಸ್ಥಳ 123 ರೀತಿಯ ಹೊಂದಿರಬಹುದು.
ನೀವು ನಿಜವಾಗಿಯೂ ನಿಮ್ಮ ಕಸದ ಖಾಲಿ ಏನು ನಂತರ ಏನಾಗುತ್ತದೆ?
ದೂರ ಹೋಗುತ್ತದೆ ಎಂದು.
ಆದರೆ ಯಾವ ದೂರ ಹೋಗುವುದಿಲ್ಲ 0 ಸೆ ಮತ್ತು 1 ಹೊಂದಿದೆ.
>> ಆದ್ದರಿಂದ pset4 ಸಂಪರ್ಕವನ್ನು ನಂತರ ಇದನ್ನೇ?
ಅಲ್ಲದೆ, pset4 ಜೊತೆಗೆ, ನಾವು ಆಕಸ್ಮಿಕವಾಗಿ ಕಾಂಪ್ಯಾಕ್ಟ್ ಫ್ಲಾಶ್ ಕಾರ್ಡ್ ಅಳಿಸಿಹಾಕಿತು ಮಾಡಿದ ಕಾರಣ
ದುರದೃಷ್ಟವಶಾತ್ ಈ ಫೋಟೋಗಳನ್ನು ಎಲ್ಲಾ ಅಥವಾ ಅದು ಎಂದು ಭ್ರಷ್ಟಗೊಂಡಿದೆ ಆಯಿತು
0 ಸೆ ಮತ್ತು 1 ಈಗಲೂ ಇಲ್ಲ ಎಂದು ಅರ್ಥವಲ್ಲ.
ಏನೋ ಭ್ರಷ್ಟಗೊಂಡಿದೆ ಪಡೆಯಿತು ಏಕೆಂದರೆ ಪ್ರಾಯಶಃ ಅವುಗಳಲ್ಲಿ ಕೆಲವು ಕಳೆದುಹೋಗಿವೆ
ಕೆಲವು 0 ಸೆ 1 ಸೆ ಹಾಗೂ 1 ಸೆ 0 ಸೆ ಆಯಿತು ಅರ್ಥದಲ್ಲಿ.
ದೋಷಯುಕ್ತ ತಂತ್ರಾಂಶ ಅಥವಾ ದೋಷಯುಕ್ತ ಯಂತ್ರಾಂಶದ ಏಕೆಂದರೆ ಕೆಟ್ಟ ಸಂಗತಿಗಳು ಸಂಭವಿಸುತ್ತವೆ.
ಆದರೆ ಆ ಬಿಟ್ಗಳು ಹಲವಾರು, ಬಹುಶಃ ಅವುಗಳನ್ನು ಕೂಡ 100%, ಇನ್ನೂ ಇವೆ.
ಇದು JPEG1 ಪ್ರಾರಂಭಿಸಿದರು ಕಂಪ್ಯೂಟರ್ ಅಥವಾ ಕ್ಯಾಮೆರಾ ಗೊತ್ತಿಲ್ಲ ಎಂದು ಜಸ್ಟ್
ಮತ್ತು ಅಲ್ಲಿ JPEG2 ಆರಂಭಿಸಿದರು.
ಆದರೆ ನೀವು, ಪ್ರೋಗ್ರಾಮರ್, ಆ JPEGs ಅವು ಅಲ್ಲಿ ಜಾಣತನ ಒಂದು ಬಿಟ್ ಪರಿಚಯವಿರುವ
ಅಥವಾ ಅವರು ರೀತಿ ನೀವು 0 ಸೆ ಮತ್ತು 1 ಮತ್ತು ಹೇಳುತ್ತಾರೆ JPEG, JPEG, ಪರಿಶೀಲಿಸಬಹುದು
ನೀವು ಮೂಲಭೂತವಾಗಿ ಕೇವಲ ಗಾಗಿ ಒಂದು ಪ್ರೋಗ್ರಾಮ್ ಅನ್ನು ಬರೆಯುವುದು ಅಥವಾ ಮಾಡುತ್ತದೆ ಲೂಪ್
ಆ ಕಡತಗಳ ಪ್ರತಿ ಒಂದು ಚೇತರಿಸಿಕೊಳ್ಳುತ್ತಾನೆ.
ಪಾಠದ ನಂತರ ಸುರಕ್ಷಿತವಾಗಿ ನಿಮ್ಮ ಫೈಲ್ಗಳನ್ನು ಅಳಿಸಿಹಾಕುತ್ತವೆ ಆರಂಭಿಸಲು ಆದ್ದರಿಂದ
ನೀವು ಸಂಪೂರ್ಣವಾಗಿ ಇದನ್ನು ತಪ್ಪಿಸಲು ಬಯಸಿದಲ್ಲಿ. ಹೌದು.
>> [ವಿದ್ಯಾರ್ಥಿ] ಹೇಗೆ ಬಂದು ಅದನ್ನು ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ನಲ್ಲಿ ಹೇಳುತ್ತಾರೆ
ನೀವು ಮೊದಲು ಮಾಡಿದರು ಹೆಚ್ಚು ಮೆಮೊರಿ ಎಂದು?
ನೀವು ಮೊದಲು ಮಾಡಿದರು ಹೆಚ್ಚು ಮೆಮೊರಿ - >> [ವಿದ್ಯಾರ್ಥಿ] ಇನ್ನಷ್ಟು ಲಭ್ಯವಿರುವ ಸ್ಮರಣೆ.
ಓಹ್. ಪ್ರಶ್ನೆ ಉತ್ತಮ.
ಆದ್ದರಿಂದ ನಂತರ ಅನುಪಯುಕ್ತವನ್ನು ಖಾಲಿ ನಂತರ ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ನಲ್ಲಿ ನೀವು ಹೇಳಲು ಇಲ್ಲ
ನೀವು ಮೊದಲು ಮಾಡಿದರು ಹೆಚ್ಚು ಜಾಗವನ್ನು ಹೊಂದಿರುವ?
ಸಂಕ್ಷಿಪ್ತವಾಗಿ, ಇದು ಸುಳ್ಳು ಮಾಡಿದ ಕಾರಣ.
ಈಗ ನೀವು ಹೇಳಿದ ಕಾರಣ ಹೆಚ್ಚು ತಾಂತ್ರಿಕವಾಗಿ, ನೀವು ಹೆಚ್ಚು ಜಾಗವಿದೆಯೇ
ಫೈಲ್ ಹಿಂದೊಮ್ಮೆ ಅಲ್ಲಿ ನೀವು ಇತರ ವಿಷಯವನ್ನು ಇರಿಸಬಹುದು.
ಆದರೆ, ಬಿಟ್ಸ್ ದೂರ ಹೋಗುವ ಅರ್ಥವಲ್ಲ
ಮತ್ತು ಬಿಟ್ಗಳು, ಉದಾಹರಣೆಗೆ, ಎಲ್ಲಾ 0 ಸೆ ಬದಲಾಯಿತು ಎಂದು ಅರ್ಥವಲ್ಲ
ನಿಮ್ಮ ರಕ್ಷಣೆಗಾಗಿ.
ಆದ್ದರಿಂದ ಇದಕ್ಕೆ ವಿರುದ್ಧವಾಗಿ, ನೀವು ಸುರಕ್ಷಿತವಾಗಿ ಫೈಲ್ಗಳನ್ನು ಅಳಿಸಿ ಅಥವಾ ಭೌತಿಕವಾಗಿ ಸಾಧನ ನಾಶ ವೇಳೆ,
ನಿಜಕ್ಕೂ ಆ ಸುತ್ತ ಕೆಲವೊಮ್ಮೆ ಏಕೈಕ ಮಾರ್ಗವಾಗಿದೆ.
>> ಆದ್ದರಿಂದ ನಾವು ಅರೆ ಹೆದರಿಕೆಯೆ ಗಮನಿಸಿ ಹೊರಡಲು ಇಲ್ಲ, ಮತ್ತು ನಾವು ಸೋಮವಾರ ನೀವು ನೋಡಬಹುದು.
[ಚಪ್ಪಾಳೆಯನ್ನು]
>> [CS50.TV]