3:55 ์ง๋ฌธ๋๋ฆฝ๋๋ค
๋ฐฐ์ด๋ช
(identifier)์ lvalue์
๋๋ค. ๊ทธ๋ฆฌ๊ณ "๋ฐฐ์ด์ด๋ฆ์ด ํฌ์ธํฐ ์์๋ค"๋ผ๊ณ ํ๋ ๊ฒ๋ณด๋ค ๋ฐฐ์ด์ด๋ฆ์ด ํฌ์ธํฐ๋ก "ํ๋ณํ"๋๋ค๋ผ๊ณ ํ๋ ๊ฒ ๋ง๋ค๊ณ ์๊ฐํฉ๋๋ค. ์๋ํ๋ฉด ํน์ ๊ฒฝ์ฐ๋ฅผ ์ ์ธํ๊ณ , ๋ฐฐ์ด ํ์
์ ํํ์(์ง๊ธ์ ๊ฒฝ์ฐ๋ ๋ฐฐ์ด๋ช
)์ด ์ฒซ ๋ฒ์งธ ์์๋ฅผ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ๋ก ํ๋ณํ๋๊ธฐ ๋๋ฌธ์
๋๋ค. ์๋๋ ์ ๊ฐ ์คํ ์ค๋ฒํ๋ก์ฐ์์ ์ฐพ์ ์ง๋ฌธ๊ณผ ๊ด๋ จ๋ ๋ต๋ณ๊ณผ ํจ๊ป C ํ์ค(C standard)๋ฅผ ์ฐธ์กฐํ ๋ด์ฉ์
๋๋ค. (์ ๊ฐ ์๋ชป ํด์ํ์ ์๋ ์๊ธฐ ๋๋ฌธ์ ์๋ชป๋ ๋ถ๋ถ์ด ์์ผ๋ฉด ์ง์ ๋ฐ๋๋๋ค.) 1. lvalue๋ ๊ฐ์ฒด(object)๋ฅผ ๋ํ๋ด๋(designate) ํํ์์ด๋ค. 2. ์๋ณ์๋ ๊ฐ์ฒด(object)๋ฅผ ๋ํ๋ด๋(designate) ๊ฒ์ผ๋ก ์ ์ธ๋๋ค๋ฉด, ์ฃผ ํํ์(primary expression)์ด๋ค. (์ด ๊ฒฝ์ฐ์ ์๋ณ์๋ lvalue์ด๋ค.) 3. sizeof ์ฐ์ฐ์์ & ์ฐ์ฐ์์ ํผ์ฐ์ฐ์, ๋ฐฐ์ด ์ด๊ธฐํ์ ์ฌ์ฉ๋๋ ๋ฌธ์์ด ๋ฆฌํฐ๋ด์ผ ๋๋ฅผ ์ ์ธํ๊ณ , "์ด๋ค ํ(type)์ ์์๋ก ์ด๋ฃจ์ด์ง ๋ฐฐ์ด"์ ๋ํ๋ด๋ ํํ์์ ๋ฐฐ์ด ๊ฐ์ฒด์ ์ฒซ ๋ฒ์งธ ์์๋ฅผ ๊ฐ๋ฆฌํค๋ "์ด๋ค ํ(type)์ ๋ํ ํฌ์ธํฐ"๋ฅผ ๋ํ๋ด๋ ํํ์์ผ๋ก ํ๋ณํ๋๋ฉฐ lvalue๊ฐ ์๋๋ค. ์คํ ์ค๋ฒํ๋ก์ฐ ์ฌ๊ธฐ์, ์์ ํํ์์ ๋ฐฐ์ด๋ช
(์๋ณ์)์ด๊ณ ๋ค์ ํํ์์ &๋ฐฐ์ด๋ช
[0]๋ฅผ ์๋ฏธํ๋ ๊ฒ ๊ฐ์ต๋๋ค. &๋ ์ฃผ์๊ฐ์ ๊ณ์ฐํ๋ฏ๋ก rvalue(ํํ์๊ฐ)๊ฐ ๋ฉ๋๋ค. ๋ฐฐ์ด์ ๋ฐฐ์ด์ด๊ณ ํฌ์ธํฐ๋ ํฌ์ธํฐ์ด๊ธฐ ๋๋ฌธ์, '๋ฐฐ์ด์ด๋ฆ์ด ํฌ์ธํฐ ์์๋ค'๋ ์ ์ ํ์ง ์์ต๋๋ค.