Q&A

  • 변수에 관한 보편적 궁금증..`
안녕하세요. (주) 천의무봉의 이용민입니다.



1. 변수를 초기화 해야하는 이유가 뭔지요 ?



프로그램 서적에 보면 변수 초기화를 반드시 해야한다고 되어 있고 델파이내에서 초기화가 안된 경우에는 컴파일시 아래부분에 hint 형태로 메시지가 나오는데 실행에는 전혀 지장이 없거든요.

그럼 이 변수 초기화를 하지 않고 프로그램을 사용하게 되면 과연 어떤 문제가 발생될 수 있는 겁니까 ?



2. 참조하는 변수에 관한 궁금증.

A unit 을 B unit 와 C unit 에서 참조하는 경우,

A unit 의 변수를 B unit 에서 사용할 수 있는데 이런 의문이 생기는 군요.

A unit 은 실제 메모리에 올라와 있지 않은 상태에서 어떻게 A unit 의 변수를 이용할 수가 있는지 ?

그리고 이렇게 사용하는 변수는 언제 메모리 해제가 되는지 ?

B unit 이 close 될 때 자동으로 메모리 해제가 된다면 C unit 의 경우에는 ....



고수의 조언을 기다리겠습니다.

1  COMMENTS
  • Profile
    이정욱 1999.06.22 07:54
    이용민 께서 말씀하시기를...

    > 안녕하세요. (주) 천의무봉의 이용민입니다.

    >

    > 1. 변수를 초기화 해야하는 이유가 뭔지요 ?

    >

    > 프로그램 서적에 보면 변수 초기화를 반드시 해야한다고 되어 있고 델파이내에서 초기화가 안된 경우에는 컴파일시 아래부분에 hint 형태로 메시지가 나오는데 실행에는 전혀 지장이 없거든요.

    > 그럼 이 변수 초기화를 하지 않고 프로그램을 사용하게 되면 과연 어떤 문제가 발생될 수 있는 겁니까 ?



    혹시 변수자체에 쓰레기 값이 들어가서 원하지 않는 결과를 가져올 수도 있습니다.



    >

    > 2. 참조하는 변수에 관한 궁금증.

    > A unit 을 B unit 와 C unit 에서 참조하는 경우,

    > A unit 의 변수를 B unit 에서 사용할 수 있는데 이런 의문이 생기는 군요.

    > A unit 은 실제 메모리에 올라와 있지 않은 상태에서 어떻게 A unit 의 변수를 이용할 수가 있는지 ?

    > 그리고 이렇게 사용하는 변수는 언제 메모리 해제가 되는지 ?

    > B unit 이 close 될 때 자동으로 메모리 해제가 된다면 C unit 의 경우에는 ....

    >

    > 고수의 조언을 기다리겠습니다.



    A unit이 메모리에 올라와 있지 않은 상태가 아니라 올라가 있는 상태입니다.

    A unit에 객체를 선언해서 객체의 Public안에 변수를 선언했다면 그 객체를 생성해야지만 쓸 수 있지만 전역변수인 경우에는 객체생성같은것이 필요없습니다.

    이미 참조하라고 하는 순간부터 A Unit의 내용은 같이 떠 있는것입니다.

    물론 프로그램이 닫힐때 같이 해제가 됩니다.