[C언어] Call By Value & Call By Reference
·
Programming Language/C
Call By Value & Call By Reference 함수로 인자를 전달하는 방식에는 크게 Call by value와 Call by reference 방식이 있다. Call By Value (값에 의한 호출) 함수 호출 시 인자로 전달되는 변수의 값을 함수의 매개변수에 복사하여 전달하는 방식 복사된 인자는 지역 변수의 특성을 가지게 된다. → 매개변수의 값을 변경해도 원래의 변수에는 영향 X ⇒ 원본 값을 바꿀 필요가 없을 때 사용 #include void sub(int a) { a = a - 3; printf("sub 함수의 매개변수 a의 값 : %d\\n", a); } int main() { int a = 10; printf("sub 함수 실행 전 a 값 : %d\\n", a); minus(a..
C 포인터(Pointer)
·
Programming Language/C
👆 포인터란? 변수의 주소값을 가리키는, 저장하는 변수 📣 포인터 변수 선언하기 int *[변수명]; char *[변수명]; int형 변수의 주소를 담고 싶다면 int *을, char형 변수의 주소를 담고 싶다면 char *을 사용한다. 다른 자료형들도 마찬가지이다. 선언할 때에는 아래의 형식 모두 가능하다. int *p int* p int * p 🪄 포인터 연산자 주소 연산자 ( & ) 변수의 이름 앞에 사용하며, 해당 변수의 주소값을 반환함. 참조 연산자 ( * ) 포인터의 이름이나 주소 앞에 사용하며, 포인터가 가리키는 주소에 저장된 값을 반환함. ❗ 포인터 변수를 선언할 때 사용하는 *은 포인터 변수를 선언하기 위한 것으로 참조 연산자의 *은 다른 의미를 가지고 있다. 🛒 포인터 변수의 크기 포인..
[빡공팟 5기] 6098 : [기초-리스트] 성실한 개미(py)
·
Programming Language/PYTHON
더보기 문제 링크 : https://codeup.kr/problem.php?id=6098 [기초-리스트] 성실한 개미(py) python언어기초100제v1.0 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용 codeup.kr 📋 문제 설명 미로 상자의 구조가 0(갈 수 있는 곳), 1(벽 또는 장애물)로 주어지고, 먹이가 2로 주어질 때, 성실한 개미의 이동 경로를 예상해보자. 단, 맨 아래의 가장 오른쪽에 도착한 경우, 더 이상 움직일 수 없는 경우, 먹이를 찾은 경우에는 더 이상 이동하지 않고 그곳에 머무른다고 가정한다. 미로 상자의 테두리는 모두 벽으로 되어 있으며, 개미집은 ..
[빡공팟 5기] 6097 : [기초-리스트] 설탕과자 뽑기(py)
·
Programming Language/PYTHON
더보기 문제 링크 : https://codeup.kr/problem.php?id=6097 [기초-리스트] 설탕과자 뽑기(py) python언어기초100제v1.0 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용 codeup.kr 📋 문제 설명 격자판의 세로(h), 가로(w), 막대의 개수(n), 각 막대의 길이(l), 막대를 놓는 방향(d:가로는 0, 세로는 1)과 막대를 놓는 막대의 가장 왼쪽 또는 위쪽의 위치(x, y)가 주어질 때, 격자판을 채운 막대의 모양을 출력하는 프로그램을 만들어보자. ⌨️ 입력 첫 줄에 격자판의 세로(h), 가로(w) 가 공백을 두고 입력되고, 두 번째 ..
[빡공팟 5기] | 코드업 | 6096 : [기초-리스트] 바둑알 십자 뒤집기(py)
·
Programming Language/PYTHON
더보기 문제 링크 : https://codeup.kr/problem.php?id=6096&rid=0 [기초-리스트] 바둑알 십자 뒤집기(py) python언어기초100제v1.0 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용 codeup.kr 📋 문제 설명 바둑판(19 * 19)에 흰 돌(1) 또는 검정 돌(0)이 모두 꽉 채워져 놓여있을 때, n개의 좌표를 입력받아 십자(+) 뒤집기 한 결과를 출력하는 프로그램을 작성해보자. ⌨️ 입력 바둑알이 깔려 있는 상황이 19 * 19 크기의 정수값으로 입력된다. 십자 뒤집기 횟수(n)가 입력된다. 십자 뒤집기 좌표가 횟수(n) 만큼 입력된..
[빡공팟 5기] | 코드업 | 6095 : [기초-리스트] 바둑판에 흰 돌 놓기(설명)(py)
·
Programming Language/PYTHON
더보기 문제 링크 : https://codeup.kr/problem.php?id=6095 [기초-리스트] 바둑판에 흰 돌 놓기(설명)(py) python언어기초100제v1.0 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용 codeup.kr 📋 문제 설명 바둑판(19 * 19)에 n개의 흰 돌을 놓는다고 할 때, n개의 흰 돌이 놓인 위치를 출력하는 프로그램을 작성해보자. ⌨️ 입력 바둑판에 올려놓을 흰 돌의 개수(n)가 첫 줄에 입력된다. 둘째 줄부터 n+1 번째 줄까지 흰 돌을 놓을 좌표(x, y)가 n줄 입력된다. n은 10 이하의 자연수이고 x, y 좌표는 1 ~ 19 까지이..
[빡공팟 5기] | 코드업 | 6088 : [기초-종합] 수 나열하기1(py)
·
Programming Language/PYTHON
더보기 문제 링크 https://codeup.kr/problem.php?id=6088 [기초-종합] 수 나열하기1(py) python언어기초100제v1.0 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용 codeup.kr 📋 문제 설명 시작 값(a), 등차(d), 몇 번째인지를 나타내는 정수(n)가 입력될 때n번째 수를 출력하는 프로그램을 만들어보자. - 수열이란? 어떤 규칙에 따라 수를 순서대로 나열한 것을 수열(Sequences)이라고 한다. - 등차수열이란? 1 4 7 10 13 위의 수열은 1부터 시작해 이전에 만든 수에 3을 더해 다음 수를 만든 수열이다. 이러한 것을 수학..
스택 프레임(Stack Frame)
·
Reverse Engineering
📌스택 프레임(Stack Frame)이란? ESP(스택 포인터)가 아닌 EBP(베이스 포인터) 레지스터를 사용하여 스택 내의 로컬 변수, 파라미터, 복귀 주소에 접근하는 기법 ➡️ 함수의 매개 변수, 함수 반환 주소값, 지역 변수 등메모리의 스택 영역에 순서대로 저장되는 함수의 호출 정보를 스택 프레임이라고 한다.    ❗짚고 넘어가기 - 스택 (1) Push스택에 Push를 하여 값을 넣으면 스택의 바닥(EBP)에서 스택 탑(ESP)을 향해 데이터가 쌓인다. (2) Pop스택에 Pop을 하여 값을 빼면 스택의 탑(ESP)에서 스택의 바닥(EBP)을 향해 데이터가 줄어든다.➡️ 즉, 데이터가 늘어날수록 낮은 주소에 저장이 된다. 데이터가 늘어날수록 낮은 주소에 저장이 되는 이유는 커널(Kernel)과 ..
[자료구조] - Python으로 스택 간단 구현하기
·
Programming Language/PYTHON
✅스택이란? 2022.08.24 - [기타] - [자료구조] - 스택 (Stack) [자료구조] - 스택 (Stack) 📌스택(Stack)의 개념 LIFO(Last In First Out) 또는 FILO(First In Last Out) 형태로 동작하는 선형 자료 구조 스택(Stack)의 사전적 의미는 "더미", "쌓다"로 자료 구조의 스택도 데이터를 순차적으로 나열한.. yks-study.tistory.com 📍ADT Stack 더보기 ADT(Abstract Data Type)란? 프로그래밍 언어에서 사용되는 데이터형을 정의함에 있어서 그 데이터형에 적용 가능한 연산 형식과 제약 조건 등만을 보여주고 실제로 그 연산이 어떻게 구체적으로 표현되어 있는지는 알 수 없게 하는 기능. 출처 : 추상 데이터형 ..
[자료구조] - 스택 (Stack)
·
기타
📌스택(Stack)의 개념 LIFO(Last In First Out) 또는 FILO(First In Last Out) 형태로 동작하는 선형 자료 구조 스택(Stack)의 사전적 의미는 "더미", "쌓다"로 자료 구조의 스택도 데이터를 순차적으로 나열한 구조이다. 가장 최근에 보관한 자료를 꺼내는 방식으로 동작한다. 스택의 연산은 Push와 Pop이 있다. Push는 삽입 연산으로 가장 위에 원소를 추가하고, Pop은 삭제 연산으로 가장 위의 원소를 반환한다. Top은 스택의 맨 위에 위치해 있는 원소를 가리킨다. Push와 Pop은 Top으로 지정된 곳에서만 가능하다. 따라서 스택의 접근(Push와 Pop)은 한 곳(Top)에서만 일어난다. 스택의 예시로는 아래와 같이 접시를 쌓았을 때 맨 위의 제일 마..