Language

#include int main(void) { int i,j; int a[2][3] = { {1,2,3}, {4,5,6} }; int* ap[2]; for(i=0;i
이중포인터(double pointer) : 포인터를 가리키는 포인터 포인터 연산자 하나 당 화살표 하나(그림그려서 쉽게 할 수 있음. 같은 형끼리 비교, 대입연산) 주소에 의한 호출 : 값 변경 가능 값에 의한 호출 : 함수가 끝나면 메모리 삭제됨. 포인터배열(array of pointers)(많이 씀) 배열의 원소가 포인터인것. int *ap[10]; []연산자가 *연산자보다 우선순위가 높으므로 ap는 먼저 배열이되고 그 후 int 형 포인터가 된다. 배열 안에 int *변수가 들어간 것. 정수형 포인터 배열 int a=10, b=20, c= 30, d=40, e=50; int *api[5] = {&a,&b,&c,&d,&e}; 이런식으로 포인터배열 하나당 같은 형의 변수 하나를 가리킬 수 있음. 2차원..
저번시간에 이어서 오늘은 공용체(Union),열거형(enum),사용자 정의 자료형(typedef)에 대해서 알아 볼 것이다. 우선 union은 공용체라고도 불린다. 유니온은구조체와 비슷하지만 같은 메모리 영역을 여러개의 변수가 공유하고, 그 메모리의 크기는 공용체 멤버 중 가장 큰놈의 바이트로 결정된다. 또, 공용체와 구조체의 다른점은 구조체는 그 안 멤버들을 모두 쓴다면, 공용체는 그 안 멤버들 중 하나만 사용한다는 것이다. 따라서, 메모리 절약차원에서 뛰어나다는 장점이 있다. 말로는 읽기도 싫고 이해도 잘 안되니 그림으로 보자.구조체와 마찬가지로 공용체 형 선언을 먼저 해주고 그 공용체의 변수 선언은 또 따로 해줘야한다. 구조체와 마찬가지로 멤버 접근은 . 연산자로 해준다. 메인함수에서 보듯이 v.c..
이번 글에서는 구조체 배열, 구조체 포인터, ->연산자,구조체와 함수에 대해서 알아 볼 것이다. 1.구조체 배열 구조체 배열은 같은 구조체를 여러 개 모은것이다. 그냥 일반 배열이랑 다를게 없다. .연산자로 멤버들 접근하는 것만 빼면 그냥 배열과 똑같다. 예시를 보자면struct student list[100]; 처럼 구조체형 list 변수에다가 []로 크기를 표시해주면 된다. 배열과 마찬가지로 구조체 배열도 초기화를 해줄 수 있다.바로 이렇게! 2.구조체를 가리키는 포인터 구조체를 가리키는 포인터도 일반 변수에서의 포인터와 똑같다. 그냥 포인터가 그 구조체의 주소를 가리키고 있는 것이다. 이렇게 구조체 포인터 변수를 선언해주고 포인터 변수p에 구조체 변수s의 주소를 넣어주면 포인터변수 p는 s의 주소를..
오늘은 구조체에 대해서 알아보겠다. 구조체란? 배열은 같은 형의 데이터들을 묶을 수 있는 명령어라면, 구조체는 서로 다른형의 데이터를 묶을 수 있는 명령어이다. 그림으로 나타내보자면이러한 형태이다. 그러면 구조체는 어떻게 만들까? 우리는 두가지의 개념을 먼저 알고가야된다. 하나는 ‘구조체 형’을 선언하는 것, 두번째는 ‘구조체 형 변수’를 선언하는것이다. 먼저 구조체 형 선언을 먼저 보면이렇게 할 수 있다. struct라는 키워드를 써주고 구조체의 이름을 써준다. 그러면 구조체 student라는 형이 선언 된 것이다. 우리가 int a;하면 정수형 변수 a를 선언한것 처럼, student a;를 해주면 구조체 studnet형 변수 a를 선언해준 것이다. 그 후 {}로 묶고 ;으로 마무리 해주면 된다. {..
LearningStudy
'Language' 카테고리의 글 목록 (3 Page)