목차

👨‍💻Programming/C언어

C언어 - 함수와 변수의 관계

코너(Corner) 2020. 10. 27.

목차

반응형

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <stdio.h>
 
// * C언어는 절차적 지향 언어이기 때문에 함수 선언을 해야한다.
// 함수
int sum(int i, int j,int k); // 함수의 구조 선언하는 부분
double  avg(double i, double j, double k, double h);
 
 
int main(int argc, const char * argv[]) {
  
    
    int number1, number2, total;
    double average;
    printf("정수 1 입력 : "); // ex ) 100
    scanf("%d"&number1);
    printf("정수 2 입력 : "); // ex ) 200
    scanf("%d"&number2);
    
    total = sum(number1, number2,50); // 함수호출
    printf("%d + %d + %d = 합계 : %d\n", number1,number2,50,total);
    
    average = avg(number1,number2,78.25,532.1);
    printf("(%d + %d + %lf + %lf ) / 4 = 평균 : %lf\n", number1,number2,78.25,532.1,average);
    return 0;
    
}
 
int sum(int i, int j, int k){
    return i+j+k;
}
double avg(double i, double j, double k, double h){
    return (i+j+k+h)/4;
}


/*

 변수의 생명주기

 변수를 선언하면 생성

            int sum( ) {

            int a=10; //지역 변수

 

            a=a+10;

        return a;

 변수의 생명 죽기, 함수 밖으로 나오면 변수 사용 못함.

 */

 
cs

C언어 함수와 변수의 관계

 

 

변수의 종류 

01 지역 변수 - 코드 블록내에서만 사용 가능함 - 코드블록의 시작부터 생성됨 - 코드블록의 끝 반환

02 전역 변수 - 전체 소스코드에서 사용 가능함 - 프로그램의 시작부터 생성됨 - 프로그램이 종료 될 때 반환

03 정적 변수 - 함수가 종결되어도 계속 사용 가능함 - 처음 선언한 후 부터 생성 - 프로그램 종료 될 때 반환

04 외부 변수 - 다른 소스파일에 선언 - 프로그램의 시작부터 생성됨 - 프로그램이 종료될 때 반환

 

 

변수의 종류에 따른 주기억장치

 

프로그램 처리 단계

 

고급언어 프로그램 (10진수) --- 컴파일 ---> 기계어(2진수) 목적프로그램(object)

 

문법적 오류 검출 

 

(원시파일 source) 컴파일러, 인터프리터 0101000111

day04.c 정적변수 stack메모리에 할당됨 day04.o

Day04.java Day04.class

--> 링크단계 --> 로더 단계 --> 실행 파일 .exe

-- 빌드단계 --> day04.exe

논리적 오류 검출 Day04.jar

지역변수, 일반변수들 

heap 올라감

 

반응형

댓글