C ਵਿੱਚ 5 ਛੋਟੀਆਂ ਚੀਜ਼ਾਂ ਜਿਨ੍ਹਾਂ ਨੇ ਮੈਨੂੰ ਉਲਝਣ ਵਿੱਚ ਪਾ ਦਿੱਤਾ
ਮੈਨੂੰ ਲੱਗਿਆ ਸੀ ਕਿ C ਸਿੱਖਣਾ ਆਸਾਨ ਹੋਵੇਗਾ।
ਵੱਡੇ ਸੰਕਲਪਾਂ (concepts) ਨਾਲੋਂ ਛੋਟੀਆਂ ਗੱਲਾਂ ਨੇ ਮੈਨੂੰ ਜ਼ਿਆਦਾ ਉਲਝਣ ਵਿੱਚ ਪਾ ਦਿੱਤਾ।
ਇੱਥੇ ਪੰਜ ਚੀਜ਼ਾਂ ਹਨ ਜਿਨ੍ਹਾਂ ਨੂੰ ਮਾਹਰ ਬਣਨ ਵਿੱਚ ਸਮਾਂ ਲੱਗਿਆ:
ਇੰਡੈਕਸਿੰਗ (Indexing) 0 ਤੋਂ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ ਐਰੇ (Arrays) 1 ਦੀ ਬਜਾਏ 0 ਤੋਂ ਸ਼ੁਰੂ ਹੁੰਦੇ ਹਨ। ਇਹ ਮੈਮੋਰੀ ਦੇ ਕੰਮ ਕਰਨ ਦੇ ਤਰੀਕੇ ਕਾਰਨ ਹੁੰਦਾ ਹੈ। ਸ਼ੁਰੂਆਤ ਵਿੱਚ ਮੈਨੂੰ ਇਸ ਨਾਲ ਕਾਫੀ ਮੁਸ਼ਕਲ ਆਈ।
ਸੈਮੀਕੋਲਨ (semicolon) ਦਾ ਨਿਯਮ ਇੱਕ ਗਲਤ ਸੈਮੀਕੋਲਨ ਤੁਹਾਡੇ ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਖਰਾਬ ਕਰ ਸਕਦਾ ਹੈ। ਐਰਰ ਮੈਸੇਜ (Error messages) ਅਕਸਰ ਸਹੀ ਜਗ੍ਹਾ ਨਹੀਂ ਦੱਸ ਪਾਉਂਦੇ। ਇਸ ਕਾਰਨ ਮੈਨੂੰ ਬਹੁਤ ਨਿਰਾਸ਼ਾ ਹੋਈ।
ਅਸਾਈਨਮੈਂਟ (Assignment) ਬਨਾਮ ਸਮਾਨਤਾ (Equality) ਮੈਂ ਅਕਸਰ = ਅਤੇ == ਵਿੱਚ ਉਲਝ ਜਾਂਦਾ ਸੀ। ਸਿੰਗਲ = ਚਿੰਨ੍ਹ ਇੱਕ ਮੁੱਲ (value) ਅਸਾਈਨ ਕਰਦਾ ਹੈ। ਡਬਲ == ਚਿੰਨ੍ਹ ਸਮਾਨਤਾ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ। ਇੱਕ ਵਾਰ ਮੈਂ
if(a = 5)ਲਿਖ ਦਿੱਤਾ ਅਤੇ ਮੇਰਾ ਲੌਜਿਕ (logic) ਵਿਗੜ ਗਿਆ।ਇਨਫੀਨੀਟ ਲੂਪਸ (Infinite loops) ਕਦੇ-ਕਦੇ ਮੇਰੇ ਲੂਪ ਹਮੇਸ਼ਾ ਲਈ ਚਲਦੇ ਰਹਿੰਦੇ ਸਨ। ਮੈਂ ਅਕਸਰ ਲੂਪ ਵੇਰੀਏਬਲ (loop variable) ਨੂੰ ਅਪਡੇਟ ਕਰਨਾ ਭੁੱਲ ਜਾਂਦਾ ਸੀ। ਇਹਨਾਂ ਗਲਤੀਆਂ ਨੂੰ ਸੁਧਾਰਨ (debugging) ਨੇ ਮੈਨੂੰ ਸਬਰ ਸਿਖਾਇਆ।
ਸਟ੍ਰਿੰਗਸ (Strings) ਕਿਵੇਂ ਕੰਮ ਕਰਦੀਆਂ ਹਨ C ਵਿੱਚ ਸਟ੍ਰਿੰਗਸ ਕੋਈ ਖਾਸ ਕਿਸਮ ਨਹੀਂ ਹਨ। ਉਹ ਕੈਰੇਕਟਰਾਂ (characters) ਦੇ ਐਰੇ ਹਨ। ਤੁਹਾਨੂੰ ਅੰਤ ਵਿੱਚ ਨਲ ਕੈਰੇਕਟਰ (null character) ਨੂੰ ਯਾਦ ਰੱਖਣਾ ਚਾਹੀਦਾ ਹੈ।
ਜੇਕਰ ਤੁਸੀਂ ਇਹਨਾਂ ਨਾਜ਼ੁਕ ਗੱਲਾਂ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕਰਦੇ ਹੋ, ਤਾਂ ਇਹ ਤੁਹਾਡੀ ਰਫ਼ਤਾਰ ਨੂੰ ਹੌਲੀ ਕਰ ਦਿੰਦੀਆਂ ਹਨ।
ਜੇਕਰ ਤੁਹਾਨੂੰ ਲੱਗਦਾ ਹੈ ਕਿ ਤੁਸੀਂ ਉਲਝ ਗਏ ਹੋ, ਤਾਂ ਚਿੰਤਾ ਨਾ ਕਰੋ। ਉਲਝਣ ਸਿੱਖਣ ਦਾ ਹੀ ਇੱਕ ਹਿੱਸਾ ਹੈ।
ਅਭਿਆਸ ਕਰਦੇ ਰਹੋ। ਹੌਲੀ-ਹੌਲੀ ਸਭ ਕੁਝ ਸਮਝ ਆਉਣ ਲੱਗ ਜਾਵੇਗਾ।
ਸਰੋਤ: https://dev.to/tahami_akservices_cb075e/5-small-things-in-c-that-confused-me-at-first-3m3o
ਵਿਕਲਪਿਕ ਲਰਨਿੰਗ ਕਮਿਊਨਿਟੀ: https://t.me/GyaanSetuAi