포인터
·
Programming/C
포인터 포인터란 쉽게 말하자면 주소를 담는 변수다. 하지만 이렇게 말하면 헷갈릴 수도 있기 때문에 그냥 포인터도 하나의 자료형으로 생각하는 것이 편할 것이다. 즉, '특정 자료형 변수의 주소'를 다루는 자료형이라고 생각하는 것이다. // 포인터의 선언에 대해서는 아래 서술 int a; float b; char c; int* p; // int형 변수 a의 주소를 다루는 int*형 변수 p float *q; // float형 변수 b의 주소를 다루는 float*형 변수 q char* r; // char형 변수 c의 주소를 다루는 char*형 변수 r 포인터를 선언하는 방법은 변수 이름 앞에 *를 붙이는 것이다. 하지만 비주얼 스튜디오에서도 자동 완성으로 자료형 바로 뒤에 *가 붙는 것을 보아 int* p와 ..
메모리 할당과 주소
·
Programming/C
들어가기에 앞서, 메모리에 대해 기본적으로 알아야할 것이 있다. 메모리는 바이트 단위로 나뉜다.메모리 공간 한 칸의 크기는 1 바이트다.각 바이트마다 주소가 지정되어 있다. 이제 C 언어에서 변수를 선언할 때 메모리 할당이 어떤식으로 일어나는지 알아보자. 변수의 메모리 할당 & 할당되는 방식메모리 공간을 표현한다면 위의 표로 나타낼 수 있고, 각각의 칸은 주소(ex: 1024, 1025, 1026 ... 등)를 가진다. 이때 크기가 4 바이트인 int형 변수 a, b, c를 선언해보자. int형 변수 a, b, c는 변수의 선언과 동시에 메모리 상 빈 부분에 할당이 된다. 이때 꼭 알아야할 것은 변수가 메모리 상에 할당되는 방법이다. 변수의 할당을 쉽게 설명하자면, 해당 변수의 자료형의 크기만큼의 빈 칸..
문자열과 관련 함수
·
Programming/C
문자열 문자열은 쉽게 말하면 문자들의 연속, 즉 문자 배열이다. 예를 들어 Hello라는 문자열을 문자 배열로 표현하면 H E L L O \0 이다. 이때 주의할 점은 문자열의 끝에는 항상 널 문자(\0)가 붙는다는 것이다. 그렇기 때문에 문자형 배열에 문자열을 입력할 때는 배열의 크기가 항상 문자 개수 + 1 이상이여야 한다. 간단한 예제를 하나 살펴보자 #include int main(void) { char ss[8] = "Basic-C"; // 문자형 배열 int i; ss[5] = '\0'; // '-'를 널문자로 바꿈 printf("문자열 배열 ss => %s \n", ss); return 0; } 5번 줄을 살펴보자. 5번 줄의 코드는 크기가 8인 문자형 배열 ss을 "Basic-C"라는 문자..
snwdaaa
'Programming/C' 카테고리의 글 목록