C-യിൽ എന്നെ കുഴപ്പത്തിലാക്കിയ 5 ചെറിയ കാര്യങ്ങൾ
C പഠിക്കുന്നത് എളുപ്പമായിരിക്കുമെന്ന് ഞാൻ കരുതി.
വലിയ ആശയങ്ങളേക്കാൾ കൂടുതൽ ചെറിയ കാര്യങ്ങളാണ് എന്നെ കുഴപ്പത്തിലാക്കിയത്.
പഠിച്ചെടുക്കാൻ സമയമെടുത്ത അഞ്ച് കാര്യങ്ങൾ ഇതാ:
ഇൻഡക്സിംഗ് (Indexing) 0-ൽ തുടങ്ങുന്നു അറേകൾ (Arrays) 1-ന് പകരം 0-ൽ നിന്നാണ് തുടങ്ങുന്നത്. മെമ്മറി പ്രവർത്തിക്കുന്ന രീതി കാരണമാണ് ഇത് സംഭവിക്കുന്നത്. തുടക്കത്തിൽ എനിക്ക് ഇതിൽ വലിയ ബുദ്ധിമുട്ട് നേരിട്ടിരുന്നു.
സെമി കോളൻ (semicolon) നിയമം ഒരു സെമി കോളൻ വിട്ടുപോയാൽ പോലും നിങ്ങളുടെ പ്രോഗ്രാം പ്രവർത്തിക്കില്ല. എറർ മെസ്സേജുകൾ പലപ്പോഴും കൃത്യമായ സ്ഥലം കാണിച്ചുതരാറില്ല. ഇത് വലിയ നിരാശയ്ക്ക് കാരണമായിട്ടുണ്ട്.
അസൈൻമെന്റും (Assignment) തുല്യതയും (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