2021.11.04 TIL
C와 java
변수의 선언, 대입, 연산 등은 java와 거의 유사한 형태를 갖고, 선언의 경우는 코드의 위쪽에서 모두 해야한다는 점이 다르다.
코드 중간에서 변수 선언을 할 시 에러
C 에서 주로 사용하는 실수형 자료형인 float를 이용한 코드다. 거의 유사한 모습이지만, 다른 점은 작은 단위인 int에 큰 단위인 float 변수를 대입하면 에러가 없이 실행되지만, java에서 casting 을 한 것처럼 소수점 이하가 버려지게 된다.
함수 선언
java 에서 def와 같은 기능을 하는 함수 선언을 하는 코드다. int main(){ 으로 코드를 실행하기 전 우선적으로 선언을 해야 사용할 수 있다. 함수를 선언하는 방식을 분석하면
[자료형]함수이름(n개 이상의 변수 선언){
return 값; ( [자료형]에 대입할 수 있는 형태여야 한다)
}
와 같은 형태로 이루어지고, 여기서 선언되는 변수를 매개변수 라고한다. 매개변수는 함수가 호출되면 메모리를 확보하고 이름이 부여되며, 호출이 끝나면 사라지게 된다.
포인터, malloc
포인터는 로컬 변수와 달리 기억 공간을 할당받고, 그 기억공간에 변수명을 부여하는 것이 아닌, 존재하는 기억공간 자체를 지정한다.
위 코드와 코드의 동작 과정은
다음과 같이 정리할 수 있다. *i( i 포인터 ) 는 malloc으로 지정된 기억공간의 메모리를 가리키는 변수 역할을 한다.