Dreaming developer

예비 개발자를 꿈꾸는 서연이의 기록일지

Together, Tomorrow

c언어 3

[C 기초 ] 동적할당 (malloc,memset)

동적할당이란? 프로그램 실행중에 동적으로 메모리를 할당하는 것 1. 필요성 1) 특정 메모리공간이 쓰이지 않은채로 낭비되는것을 막는다. 사용할때에만 잠시 메모리를 할당했다가 할당한 메모리가 더이상 쓸일이 없게되면, 해당 메모리를 해지시켜 다른곳에서 활용할 수 있게끔 하여 효율적인 리소스 관리를 도울 수 있다. 2) 일반적인 변수나 함수의 경우 stack이라는 메모리 공간에 할당되는데, stack 에 할당된 것들은 범위를 벗어나면 파괴되어 사용할 수 없게 된다. (ex. 특정함수에서 선언한 지역변수는 함수바깥에서 사용할수 X) 하지만 동적할당을 통해 잡은 메모리는 stack이 아닌 heap에 저장되므로 함수 바깥에서도 할당된 메모리가 사라지지 않고 존재할 수 있다. 코드(code) 영역(=텍스트(code)..

C,C++/C basic 2021.08.26

[C 기초] 구조체

C 언어 코딩 도장: 48.1 구조체를 만들고 사용하기 (dojang.io) C 언어 코딩 도장: 48.1 구조체를 만들고 사용하기 구조체는 struct 키워드로 정의합니다. struct 구조체이름 { 자료형 멤버이름; }; 구조체는 정의만 해서는 사용을 할 수가 없습니다. 따라서 구조체도 변수로 선언해서 사용합니다. struct 구조체이름 dojang.io 구조체란? 여러개의 자료형을 묶어 하나로 그룹화하는 사용자 정의 자료형. 1. 선언 및 생성 : 구조체선언은 struct 키워드를 통해 이루어지며, 구초제별로 목적에 맞는 자료형변수들을 선언해주면 된다. 방법 1) basic struct 구조체이름 { 자료형 멤버이름; }; ※ (닫는 중괄호) 뒤에 반드시 ;(세미콜론) 을 붙이는것 잊지 않도록 하기..

C,C++/C basic 2021.08.24

[C 기초 ] Void Pointer

C 언어 코딩 도장: 34.5 void 포인터 선언하기 (dojang.io) C 언어 코딩 도장: 34.5 void 포인터 선언하기 long long *numPtr1;이나 float *numPtr2;는 자료형이 정해진 포인터입니다. 하지만 C 언어에서는 자료형이 정해지지 않은 포인터도 있습니다. void 포인터라는 포인터인데 다음과 같이 void 키워드와 *로 선 dojang.io Void Pointer란? 자료형이 없는 포인터. 범용포인터(GenericPointer) 라고 불리우기도 한다. 1.선언 일반 포인터와 동일하게 변수명앞에 *를 붙여 선언한다. 2. 특성 1) 어떤 자료형으로 된 포인터이든간 모두 저장할 수있다. #include int main() { int n = 10; char c = 'a..

C,C++ 2021.08.23