1. // 10장 프로그래밍 연습 1번 #include int main() { extern int x; printf("정수형 변수 x = %d", x); return 0; } int x = 10; 2. // 10장 프로그래밍 연습 2번 #include // 전역 변수로 배열 stack을 선언해 사용 #define MAXSIZE 3 int stack[MAXSIZE]; // 변수 top을 전역 변수로 저장, 초기값 -1 int top = -1; // isfull() : stack에 MAXSIZE 만큼 자료가 차 있는지 반환 int isfull() { return (top == (MAXSIZE - 1)); } // push() : stack에 파라미터의 정수 값을 저장 void push(int x) { // ..
전체 글
01. 전역변수와 지역변수 변수의 유효 범위(scope) : 변수가 사용될 수 있는 범위 변수의 유효 범위에 따른 구분 1. 지역 유효 범위(local scope) : 함수 또는 블록 내부에서 선언된 변수가 선언된 이후 함수나 블록에서 사용되는 변수의 유효 범위 2. 전역 유효 범위(global scope) ; 프로젝트나 파일에서 사용 가능한 범위 지역변수 (= 자동변수, 내부변수) 1. 함수 : 선언된 함수 내부에서 사용 가능한 변수 2. 블록 : 선언된 블록 내부에서 사용 가능한 변수 + 함수의 매개변수도 함수 전체에서 사용 가능한 지역변수와 같다. + 지역변수는 선언 후 초기화하지 않으면 쓰레기 값이 저장되므로 주의 + 지역 변수가 할당되는 메모리 영역 : 스택(STACK) 지역변수는 선언된 부분에..
1. 함수의 인자 전달 방식 - 값에 의한 호출과 참조에 의한 호출 방식 1. 함수에서 값의 전달 C언어는 함수의 인자 전달 방식이 기본적으로 값에 의한 호출(call by value) 방식 Call by value (값에 의한 호출) : 인자로 받은 값을 복사하여 처리 복사하여 처리하기 인자로 받은 값이 보존 / 복사를 하기 때문에 메모리 사용량이 늘어남 2. 함수에서 주소의 전달 C언어에서 포인터를 매개변수로 사용하면 함수로 전달된 실인자의 주소를 이용하여 그 변수를 참조할 수 있다. 이와 같이 함수에서 주소를 전달해 호출하는 방식을 주소에 의한 호출 (call by address) [call by address = call by reference] Call by reference (참조에 의한 호출..
1. #include // Employee 구조체 선언 typedef struct Employee { char name[30]; // 이름 정보 int pay; // 급여 정보 } Employee; int main(void) { // 구조체 Employee의 배열 Employees를 선언 Employee Employees[] = { {"홍길동", 2000000}, {"임꺽정", 3000000}, {"김영철", 2500000} }; // Employees의 원소 수 size_t ArrSize = sizeof(Employees) / sizeof(Employees[0]); // for문을 이용하여 출력 for (int i = 0; i
1. 구조체와 공용체 구조체 (structure) : 정수나 문자, 실수나 포인터 그리고 이들의 배열 등을 묶어 하나의 자료형으로 이용하는 것 // 구조체 예시 struct student { // field or memder char name[20]; int age; char student_number[20]; } // 구조체를 이용하여 객체 생성 struct student Student1; + 구조체 정의는 변수의 선언과는 다른 것으로 변수 선언에서 이용될 새로운 구조체 자료형을 정의하는 구문 + 구조체 멤버의 초기값을 대입할 수 없음 + 한 구조체 내부에서 선언되는 구조체 멤버의 이름은 모두 유일해야 함 + 구조체 멤버로는 일반 변수, 포인터 변수, 배열 등이 가능하며 다른 구조체 변수 및 구조체 포..
07. 0에서 9까지의 정수 중에서 20개의 수를 입력 받아 입력 받은 빈도 수는 무엇이고, 몇 번인지 출력하는 프로그램을 작성하시오. #include int main() { printf("0에서 9까지의 정수를 입력하시오.\n"); int n[20]; // 입력 정수 저장 배열 선언 // for문 사용하여 배열 원소 입력 저장 for(int i = 0; i