반응형

간단 지식/C 5

04. 구조체 - 포인터, malloc, 화살표연산자, 역참조

이전 글에서 구조체의 개념과 기본 예제, 그리고 구조체 배열에 대해서 설명했다. 이전 글: 2020/11/06 - [1학년/c언어] - 03. 구조체, 공용체, 열거형 03. 구조체, 공용체, 열거형 구조체 자바에 생성자가 있어 개발의 편의성, 다양성이 향상된다면 c언어에는 구조체가 있다. 구조체란, 서로 다른 변수의 형태를 하나의 block으로 묶는 기법이다. 이로 인해 함수에 데이터를 넘 20plus3.tistory.com 이번엔 좀 더 나아가 구조체 포인터와 malloc으로 메모리를 할당하는 방법을 알아보자. 구조체 포인터는 구조체의 주소를 갖는다. 아래 예제를 보자. typedef struct _student { char name[10]; int age; char grade; }student; v..

간단 지식/C 2020.12.02

03. 구조체, 공용체, 열거형

구조체 자바에 생성자가 있어 개발의 편의성, 다양성이 향상된다면 c언어에는 구조체가 있다. 구조체란, 서로 다른 변수의 형태를 하나의 block으로 묶는 기법이다. 이로 인해 함수에 데이터를 넘길 때 구조체만 넘기면 되는 큰 이점이 생긴다. 구조체형과 변수 선언 형태는 아래와 같다. typedef struct 이름{ 멤버1 ~ n; } 별칭; 구조체별칭 변수이름; 이는 typedef을 이용한 구조체 선언 방식으로, 개발자의 편의성을 위해 구조체에 별칭을 붙일 수 있게 해준다. 변수에 값을 대입하는 형식은 다음과 같다. 변수이름.멤버 = 값; 원래 정식 선언 방식은 아래와 같다. struct 이름{ 멤버1 ~ n; } struct 구조체이름 변수이름; 차이점이 보이는가? typedef를 사용하면 변수를 선..

간단 지식/C 2020.11.06

알아두면 편한 함수

function library description get_s(dest, size) #include 문자열을 저장할 수 있는 함수 dest는 문자열을 저장할 위치 ex)배열 이름 size는 해당 위치의 크기 ex)배열 크기 offsetof() #include 메크로 함수로 Struct를 구성하는 Member 변수의 Memory Offset를 리턴한다. strcpy_s(dest, size, source) #include 문자열을 복사해서 저장할 수 있는 함수 dest는 복사할 문자열을 저장할 위치 size는 문자열의 크기로, 마지막 \0을 고려하여 +1 source는 복사할 문자열이 저장돼있는 위치 strlen(string) 문자열의 길이를 알 수 있는 함수

간단 지식/C 2020.11.04

02. 포인터, 동적메모리할당함수, 포인터배열

포인터는 변수의 주소를 의미한다. 포인터 변수는 포인터를 저장한 변수, 즉 변수의 주소를 저장하는 변수를 말한다. 따라서 포인터 변수에 대입할 수 있는 것은 주소뿐이다. 포인터 변수 선언방식은 다음과 같다. type *포인터변수; (*은 변수 명 앞에 붙이는 간접 연산자이다.) 아래 예제를 보면 한 번에 포인터에 대해 이해할 수 있다. void main() { int a = 10; int *p;//포인터변수p 선언 p = &a;//포인터변수p에 주소 저장 printf("%d \n", p);//포인터변수p에 저장된 값(주소)을 출력한다. printf("%d \n", *p);//포인터변수p에 저장된 값이 가리키는 곳의 값을 출력한다. *p = *p + 10;//포인터 변수p에 저장된 값이 가리키는 곳의 값에..

간단 지식/C 2020.09.12

01. c언어 기초 간단 정리

c언어의 시작은 포인터부터라고 생각하기 때문에 그 전까지는 간단하게 핵심만 정리해보았다. 여기까지는 자바와 거의 이론이 비슷하기 때문에 더 참고해야하는 사항이 있으면 자바 카테고리에 가면 된다. 2진수, 10진수, 16진수 2진수는 수를 0과 1로 표현한다. 10진수는 우리가 흔히 아는 자연수이다. 16진수는 수를 0~9, A~F 로 표현한다. 각 진수들은 아래처럼 서로 변환할 수 있다. 1). 2진수 -> 10진수 ex. 10101001 = 169 2) 10진수 -> 2진수 ex. 202 = 11001010 3) 16진수 -> 2진수 ex. 4F3C = 0100111100111100 16진수 2진수 16진수 2진수 0 0000 A 1010 1 0001 B 1011 2 0010 C 1100 3 0011 ..

간단 지식/C 2020.07.13
반응형