코딩공부할떄 이해가 안되는 코드 있으면 질문 어디다 해야하냐??

인디게임개발 갤러리에서 질문하기에는 주제가 좀 안 맞는거 같기도 하고


그리고 이거 이해가 안되

            switch (weapon.id)

            {

                case 0:

                    float speed = 150 * Character.WeaponSpeed;

                    weapon.speed = speed + (speed * rate);

                    break;


                default:

                    speed = 0.5f * Character.WeaponRate;

                    weapon.speed = speed * (1f - rate);

                    break;

            }

speed 변수를 case 0 에서 선언했는데 왜 default에서 쓸수 있냐?

case 0이 돌지 안으면 변수 선언도 안되는거 아냐?