C언어

개발할때 실제로 많이 안써봐서 생소했던 공용체 공용체 (Union) : 같은 메모리 영역을 여러 개의 변수가 공유한다. 공유하므로 어느 한 멤버의 내용을 변경하면 다른 멤버의 내용도 바뀐다. 공용체를 선언하고 사용하는 방법은 구조체와 비슷하다. 크기가 가장 큰 멤버 변수의 크기로 메모리를 할당한다. union id { int number; // 4 byte char name[14]; // 14 byte }; -> 공용체 id의 경우 크기가 가장 큰 멤버 변수인 name의 크기인 14byte로 메모리가 할당될 것이다.
1. 구조체 : 서로 다른 자료형을 갖는 변수들을 대표 이름으로 묶어 놓는 것 구조체를 선언하는 방법에는 세가지가 있다. // 1 struct student { int id; char name[10]; dounle grade; }; // 마지막에 세미클론 붙여주어야 함 struct student a; // OR student a; // 선언과 동시에 초기화 하기 struct student a = {20210123, "민지", 4.5}; // 2 struct student { int id; char name[10]; dounle grade; } a; //3 typedef struct { int id; char name[10]; dounle grade; } student; student a; typedef의..
C언어를 하다보면 & 연산자 * 연산자 그리고 포인터는 봐도봐도 헷갈린다.. 참 한번에 바로 이해되기 어려운 개념인것 같다. 정리하며 이해해보자 !! 1. 포인터 변수와 주소연산자 & 포인터 변수 : 주소값을 저장하는 변수이다. 변수의 주소값은 반드시 포인터 변수에 저장하고 일반 변수에는 포인터가 아닌 일반 자료 값을 저장한다. 일반 변수랑 선언하는 방법도 다르고 포인터 변수 라는 것 자체가 또 다른 타입이라고 생각하면 된다. 포인터 변수의 선언방법 : 자료형 * 변수이름 ex) int *pointerInt; 변수의 자료형이 다르면 당연히 그 변수의 주소를 저장하는 포인터의 자료형도 달라야 한다 !! int data = 100; int *ptr; ptr = &data 2. 간접연산자 * 포인터 변수가 갖..
minjiwoo
'C언어' 태그의 글 목록