2017년 1월 9일 월요일

#Head_First_C_00


기본적인 프로그래밍은

1. sequence 순차
2. condition 조건
3. reputation 반복

으로 이루어진다.












실행파일이 만들어지고 메모리 상에 적재가 되면서

stack 부분에서는 함수- 그에 따른 파라미터 값들이 들어가게되고
heap 부분에서는 동적으로 할당되는 값들이
global 부분에서는 전역변수가
constraints 부분에서는 상수가
code 부분에서는 전체 코드가 적재

예를 들어 살펴보자면 다음과 같다.


<stack>
int *b;
b = (int *)malloc(sizeof(int));
*b=3;
printing(int x = *b)
printf("x is %d\n", x=*b);
free(b);

a= 10;
printing(int x = a)
printf("x is %d\n", x=a);
 
<heap> 
b = (int *)malloc(sizeof(int));
free(b);
 
<global> 
int a;
a= 10;
char msg[] = “test”;
 
<constraints> 
char msg[] = “test”;
 
<code> 
#include <stdio.h>
#include <stdlib.h>

int a;

void printing(int x);

char msg[] = “test”;

int main(){

int *b;
b = (int *)malloc(sizeof(int));
*b=3;
printing(*b);
free(b);

a= 10;
printing(a);

return 0;
}
 
void printing(int x){

printf("x is %d\n", x);

}
 

Q. Constraints 안에선 어떻게 지역/전역 변수를 구분하는걸까?
A. 만약 그 변수가 지역이면 Constraints안에서 한 번 선언하고 그 변수를 복사해서 지역 혹은 전역 변수 공간에도 선언해준다.


댓글 없음:

댓글 쓰기