프로그래밍(코딩)/C언어

리버싱 연구 C언어 전역변수와 지역변수에대해서

Lamed_Dhhd 2020. 7. 14. 19:06
반응형
  • 전역변수는 함수 외부에서 선언된 변수로, 프로그램 전체에서 접근할 수 있는 변수입니다.
  • 지역변수는 함수 내부에서 선언된 변수로, 함수가 실행되면 만들어지고 함수가 종료되면 소멸하는 변수입니다. 함수 외부에서는 접근할 수 없습니다

#define _CRT_SECURE_NO_WARNINGS // scanf용
#pragma once  // scanf용
#include <stdio.h>
#include <windows.h>

char a[] = "Dhhd1";
void main()
{
char b[] = "Dhhd2";
printf("%s\n", a);
printf("%s", b);
}

지역변수

 

 

전역변수

 

 

다른 예제의경우

#define _CRT_SECURE_NO_WARNINGS // scanf용
#pragma once  // scanf용
#include <stdio.h>
#include <windows.h>

int a = 99;
int a2 = 100;
void main()
{
int b = 88;
int b2 = 89;
int sum;
sum = a + b;
printf("%d\n", sum);
sum = a2 + b2;
printf("%d",sum);
}

 

 

최적화를 꺼야재대로나온다 안그러면 자동으로 최적화를 컴파일러가한다

 

 

이걸통해 알수있는것들

컴파일러 최적화를 하지않으면 자동으로하지만

사용안한기준으로

전역변수

주소를 사용한다

지역변수

ebp-4등 ebp를 활용해서 사용한다

 

반응형

'프로그래밍(코딩) > C언어' 카테고리의 다른 글

배열에대해서  (0) 2020.05.28