자료구조(data structure) 2

권오흠 자료구조 2강 (문자열)

c에서의 3가지 문자열 타입 c에서 문자열 끝에는 \0 이라는 끝을 표시하는 null charater을 넣어줘야 한다 하나하나 넣기에는 불편하므로 c 에서는 편리한 기능을 제공하는데 이는 str[] = 'abcde'와 같이 선언할 경우 자동으로 문자갯수 + 1 개 크기의 문자열 배열을 만들어준다 str[] 변수는 만들어진 공간의 첫 주소를 가리키는 포인터 변수(주소 변경 불가)라고 말한 적이 있었는데 *str도 마찬가지로 주소를 가질 수 있는 포인터(주소 변경 가능)이다 str[] = 'abc' 와 *str = 'abc' 의 차이점은 str[]로 선언할 경우 str[1] = 'c' 와 같이 문자의 변경이 가능하지만 *str로 선언할 경우 문자의 변경이 불가능 하고 이를 string literal 이라고 ..

권오흠 교수님의 자료구조 1강 (C언어 기초 문법 리뷰 - 배열, 포인터, 문자열, 동적메모리할당)

컴퓨터의 메모리는 데이터를 보관하는 공간 이런식으로 메모리에는 바이트(8비트)가 무수히 많이 존재하는데 우리가 변수를 선언할 경우 이 메모리에 자리를 배정하는 것이다 그리고 각 자리에는 번호가 써져 있으며 이를 주소라고 한다 즉 모든 변수는 주소를 가진다 포인터는 메모리 주소를 값으로 가지는 변수 포인터(*)를 선언할때는 [타입명 * 변수명] 으로 선언한다 포인터 변수는 그 값으로 메모리의 주소를 가진다 당연히 포인터 변수 자체도 메모리 특정 부분에 배정 받기에 주소를 가진다 타입명은 포인터가 향후 가르키게 될 변수의 타입을 뜻한다(주소를 값으로 가지면 그 주소의 값이 존재할 것이다, 이때 그 값의 타입을 뜻함) 한장으로 파악하는 포인터 구조 위 사진을 이해한다면 포인터를 이해한 것이다 &연산자는 &뒤에..