C ನಲ್ಲಿ ನನ್ನನ್ನು ಗೊಂದಲಕ್ಕೀಡು ಮಾಡಿದ 5 ಸಣ್ಣ ವಿಷಯಗಳು
C ಕಲಿಯುವುದು ಸುಲಭ ಎಂದು ನಾನು ಭಾವಿಸಿದ್ದೆ.
ದೊಡ್ಡ ಪರಿಕಲ್ಪನೆಗಳಿಗಿಂತ ಸಣ್ಣ ವಿವರಗಳೇ ನನ್ನನ್ನು ಹೆಚ್ಚು ಗೊಂದಲಕ್ಕೀಡು ಮಾಡಿದವು.
ಕಲಿಯಲು ಸಮಯ ಹಿಡಿದುಕೊಂಡ ಐದು ವಿಷಯಗಳು ಇಲ್ಲಿವೆ:
ಇಂಡೆಕ್ಸಿಂಗ್ (Indexing) 0 ರಿಂದ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ ಅರೇಗಳು (Arrays) 1 ರ ಬದಲಿಗೆ 0 ರಿಂದ ಪ್ರಾರಂಭವಾಗುತ್ತವೆ. ಮೆಮೊರಿ ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬ ಕಾರಣದಿಂದ ಹೀಗಾಗುತ್ತದೆ. ಆರಂಭದಲ್ಲಿ ನಾನು ಇದರೊಂದಿಗೆ ಕಷ್ಟಪಟ್ಟೆ.
ಸೆಮಿಕೋಲನ್ (semicolon) ನಿಯಮ ಒಂದು ಸೆಮಿಕೋಲನ್ ಮರೆತರೂ ನಿಮ್ಮ ಪ್ರೋಗ್ರಾಂ ಕೆಲಸ ಮಾಡುವುದಿಲ್ಲ. ಎರರ್ ಮೆಸೇಜ್ಗಳು (Error messages) ಹೆಚ್ಚಾಗಿ ನಿಖರವಾದ ಸ್ಥಳವನ್ನು ತೋರಿಸಲು ವಿಫಲವಾಗುತ್ತವೆ. ಇದು ತುಂಬಾ ಹತಾಶೆಗೆ ಕಾರಣವಾಯಿತು.
ಅಸೈನ್ಮೆಂಟ್ (Assignment) vs. ಸಮಾನತೆ (Equality) ನಾನು ಆಗಾಗ್ಗೆ = ಮತ್ತು == ಅನ್ನು ಗೊಂದಲ ಮಾಡಿಕೊಳ್ಳುತ್ತಿದ್ದೆ. ಏಕೈಕ = ಚಿಹ್ನೆಯು ಮೌಲ್ಯವನ್ನು ಅಸೈನ್ ಮಾಡುತ್ತದೆ. ದ್ವಿಗುಣ == ಚಿಹ್ನೆಯು ಸಮಾನತೆಯನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ. ನಾನು ಒಮ್ಮೆ
if(a = 5)ಎಂದು ಬರೆದು ನನ್ನ ಲಾಜಿಕ್ ಅನ್ನು ಹಾಳು ಮಾಡಿಕೊಂಡೆ.ಅನಂತ ಲೂಪ್ಗಳು (Infinite loops) ನನ್ನ ಲೂಪ್ಗಳು ಕೆಲವೊಮ್ಮೆ ಎಂದೆಂದಿಗೂ ನಿಲ್ಲದೆ ಚಲಿಸುತ್ತಿದ್ದವು. ನಾನು ಸಾಮಾನ್ಯವಾಗಿ ಲೂಪ್ ವೇರಿಯಬಲ್ ಅನ್ನು ಅಪ್ಡೇಟ್ ಮಾಡಲು ಮರೆತುಬಿಡುತ್ತಿದ್ದೆ. ಈ ತಪ್ಪುಗಳನ್ನು ಡಿಬಗ್ ಮಾಡುವುದು (Debugging) ನನಗೆ ತಾಳ್ಮೆಯನ್ನು ಕಲಿಸಿತು.
ಸ್ಟ್ರಿಂಗ್ಗಳು (Strings) ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ C ನಲ್ಲಿ ಸ್ಟ್ರಿಂಗ್ಗಳು ವಿಶೇಷ ಪ್ರಕಾರಗಳಲ್ಲ. ಅವು ಕ್ಯಾರೆಕ್ಟರ್ಗಳ ಅರೇಗಳಾಗಿವೆ (arrays of characters). ಕೊನೆಯಲ್ಲಿ ನಲ್ ಕ್ಯಾರೆಕ್ಟರ್ (null character) ಇರುವುದನ್ನು ನೀವು ನೆನಪಿಟ್ಟುಕೊಳ್ಳಬೇಕು.
ನೀವು ಇವುಗಳನ್ನು ನಿರ್ಲಕ್ಷಿಸಿದರೆ, ಈ ಸಣ್ಣ ವಿವರಗಳು ನಿಮ್ಮ ವೇಗವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತವೆ.
ನಿಮಗೆ ಗೊಂದಲವಾದರೆ ಚಿಂತಿಸಬೇಡಿ. ಗೊಂದಲವು ಕಲಿಕೆಯ ಒಂದು ಭಾಗವಾಗಿದೆ.
ಅಭ್ಯಾಸ ಮಾಡುತ್ತಲೇ ಇರಿ. ಎಲ್ಲವೂ ಅರ್ಥವಾಗುತ್ತದೆ.
Source: https://dev.to/tahami_akservices_cb075e/5-small-things-in-c-that-confused-me-at-first-3m3o
Optional learning community: https://t.me/GyaanSetuAi