포인터 6

[C언어] 14. 구조체

14. 구조체 - 여러 개의 변수를 묶어 하나의 객체를 표현하고자 할 때 구조체를 사용 할 수 있다. - 캐틱터, 몬스터, 학생, 좌표 등 다양한 “객체”를 모두 프로그래밍 언어를 이용해 표현 할 수 있다. struct 구조체명{ 자료형1 변수명 1; 자료형2 변수명 2; …… } (예제1)한 명의 학생에 대한 정보를 담고 있는 구조체를 만들어보자. #include struct Student { char studentId[10]; char name[10]; int grade; char major[100]; }; (해설) 학생에 대한 정보를 담고 있는 구조체를 만들어 본것이다. 학생의 학번, 이름, 학년, 전공 등을 자료형이 무엇인지 판단해서 잘 담을 수 가 있다. - 기본적으로 구조체의 변수에 접근할 때..

[C언어] 13. 함수 포인터

13. 함수 포인터 - C언어에서는 함수의 이름을 이용해 특정한 함수를 호출한다. - 함수 이름은 메모리 주소값을 반환한다.(배열도 주소값 반환하는 것처럼) (예제1) 함수이름이 메모리주소를 반환하는 예 #include void function() { printf("i make a my function."); } int main(void) { printf("%d\n",function); system("pause"); return 0; } (해설) 실행 시켜보면 내가 직접 만든 함수들도 함수이름을 출력하도록 하면 각각 자기의 주소값을 가지고 있는 걸 확인 할 수 있다. - 함수 포인터는 특정한 함수의 “반환 자료형”을 지정하는 방식으로 선언 할 수 있다. - 함수 포인터를 이용하면 “형태가 같은” 서로 “..

[C언어] 11. 다차원 배열과 포인터 배열

11. 다차원 배열과 포인터 배열 - 2차원 배열은 굉장히 많은 목적으로 사용된다 - 행렬 데이터를 표현할 때, 그래프 알고리즘을 처리할 때, 다수의 실생활 데이터를 처리 할 때 등 이름 영어성적 수학성적 국어성적 홍길동 85 97 79 유관순 100 89 98 이순신 99 77 99 장보고 89 70 78 신립 95 98 98 ▶ 흔히 우리가 보는 “표 구조”가 “2차원 배열”과 흡사하다. - 2차원 배열은 1차원 배열이 중첩되었다는 의미로 [대괄호]를 두 번 연속하여 쓴다. [ ][ ] 「자료형 배열이름 [행][열]={{값,값,값,…},{값,값,값,…},{값,값,값,…}∙∙∙}」 ex) int a[10][10]; (10x10행렬) - 2차원 배열 또한 0인덱스부터 시작한다. ex) a[0][2] : ..

[C언어] 10. 컴퓨터가 변수를 처리하는 방법

10. 컴퓨터가 변수를 처리하는 방법 - 컴퓨터에서 프로그램이 실행되기 위해서는 프로그램이 메모리에 적재(load)되야 한다. - 프로그램의 크기를 충당 할 수 있을 만큼의 메모리 공간(4기가 ,8기가 ,16기가 등등)이 있어야하는데, 일반적인 컴퓨터의 운영체제는 메모리 공간을 네 가지로 구분하여 관리한다. 코드 영역 데이터 영역 힙 영역 스택 영역 소스 코드 전역 변수 정적 변수 동적 할당 변수 지역 변수 매개 변수 (함수마다포함하고음) - 프로그램의 어디서든 접근 가능한 변수(전체-Global) - main 함수가 실행되기도 “전”에 “프로그램의 시작과 동시에 메모리에 할당” - 프로그램의 크기가 커질수록 전역 변수로 인해 프로그램이 복잡해 질 수 있다. - 메모리의 데이터(Data)영역에 적재된다...

[C언어] 9. 문자열

9. 문자열 - 말 그대로 문자들의 배열이다 - 문자열은 컴퓨터 메모리 구조상에서 마지막에 널(NULL)값을 포함한다.(NULL: 컴퓨터상에서 존재하지 않는다. 즉, 어떠한 값도,의미 있는 값이 들어가 있지 않다.) - NULL값이 들어가는 이유는 문자열의 끝을 알리는 목적으로 사용된다.(\0) - printf문을 실행하면 컴퓨터는 내부적으로 NULL값을 만날 때 까지 출력한다. - 문자열 형태로 포인터를 사용하면 포인터에 특정한 문자열의 주소를 넣게 된다. - 문자열을 읽기 전용으로 메모리 공간에 넣은 뒤에 그 위치를 처리한다. - 문자열 리터럴(“”큰 따옴표 안에 어떠한 문자열이 들어가는 구조) 자체는 변경이 불가능하다. 문자열을 바꾸고 싶으면 포인터가 가리키고 있는 문자를 바꾸면 된다. (예제1)포..

[C언어] 7. 포인터

- 포인터에서부터 사람들이 C언어를 어려워하는데 전혀 어려운 내용이 아니다! 인터넷에도 포인터에 대한 자료도 풍부하다. 향후 훌륭한 프로그래머가 되려면 이 '포인터' 공부를 제대로 해놓으면 빛을 볼 수가 있다. 웹개발이나 앱개발 쪽에서는 굳이 몰라도 큰 상관이 없긴 한데, 코어 모듈 개발도 우리는 할 수 있어야 한다! 자 그럼 시작해보장 v^___^ 7. 포인터 - 지금까지의 변수는 "그 자체로 자신의 자료형에 맞는 값"을 저장한다. ex) int,double 등등 - 포인터(Pointer)변수는 “특이한 변수”로, “메모리 주소”를 저장한다. ex) int형 변수를 만들 때, 이 변수의 위치값을 가르키는 int형 포인터가 존재할 수 있는 것이다. 포인터는 *(별표시)로 이용해서 나타낼 수 있다. (in..

반응형