기초 16

[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언어] 8. 문자

8. 문자 - C프로그램의 문자는 아스키 코드(Ascii Code)를 따른다 - 아스키 코드는 0부터 127까지 1바이트로 구성되며 주요 문자를 출력하도록 해준다 0: 48~9:57 A: 65~Z: 90 (각 소문자와 대문자의 차이는 32이다) a: 97~z:122 숫자,대문자,소문자의 기본적인 아스키코드는 기억하자!!(숫자,대문자,소문자 순으로 아스키코드가 크다) (예제1) 아스키코드값이 어떤 문자를 가질까 #include int main(void) { char a = 65; printf("%c\n",a); system("pause"); return 0; } (해설) 변수의 자료형은 char이고 캐릭터형 자체에 숫자를 넣어서(char a=65;) 처리를 할 수 있다. printf문에서는 형식 지정자로 ..

[C언어] 7. 포인터

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

반응형