C언어
-
구조체 자료형 int와 char를 생성해주고 char의 공간을 100으로 부여해준다. book 구조체 포인터로 p를 생성해주고 book구조체로 형변환 한다음 구조체의 2배 만큼의 공간을 할당해준다. 구조체 포인터 같은 경우 -> 를 이용해 해당 변수에 접근 가능하다. p라는 구조체의 number 변수에 1을 삽입한다는 뜻이다. 그리고 title 변수에도 문자를 입력한다. 각각의 구조체 변수의 값을 넣어 초기화 해주고 이것으로 총 2개만큼의 책 정보가 들어갈 수 있는 배열같은 것이 만들어진 것이다. 다음으로 현재 자신이 관리하고 있는 모든 책의 정보를 출력하는 함수를 만든다. void shoeBook(struct Book *p, int n) n은 책의 갯수를 의미하며 포인터p는 구조체 book을 동적 메모..
C 프로그래밍 (19) - 동적 메모리 이용하기 II구조체 자료형 int와 char를 생성해주고 char의 공간을 100으로 부여해준다. book 구조체 포인터로 p를 생성해주고 book구조체로 형변환 한다음 구조체의 2배 만큼의 공간을 할당해준다. 구조체 포인터 같은 경우 -> 를 이용해 해당 변수에 접근 가능하다. p라는 구조체의 number 변수에 1을 삽입한다는 뜻이다. 그리고 title 변수에도 문자를 입력한다. 각각의 구조체 변수의 값을 넣어 초기화 해주고 이것으로 총 2개만큼의 책 정보가 들어갈 수 있는 배열같은 것이 만들어진 것이다. 다음으로 현재 자신이 관리하고 있는 모든 책의 정보를 출력하는 함수를 만든다. void shoeBook(struct Book *p, int n) n은 책의 갯수를 의미하며 포인터p는 구조체 book을 동적 메모..
2020.08.15 -
동적 메모리 할당이란 프로그램이 실행 도중에 동적으로 메모리를 할당받는 것이다. 프로그램에서는 효율성을 위해 필요한 만큼의 메모리를 시스템으로부터 할당받아 사용하고 사용이 끝나면 시스템에 메모리를 반드시 반납한다. 동적 메모리는 malloc()계열 라이브러리 함수를 사용해 할당받아 사용할 수 있다. malloc은 메모리를 할당하라는 의미이며 오른쪽 int형의 크기만큼 할당한다는 의미이다. int형은 4byte이므로 4를 넣어도 무방하다. 메모리를 할당 후 그부분의 주소를 가리키도록 해야하므로 (int *) integer pointer로 형변환을 시켜줌으로써 포인터 integer 변수가 해당 위치를 기억할 수 있게 해주는 것이다. pi가 NULL값이라 실패 문구가 뜬다면 exit(1)을 띄워 즉시 프로그램..
C 프로그래밍 (18) - 동적 메모리 이용하기동적 메모리 할당이란 프로그램이 실행 도중에 동적으로 메모리를 할당받는 것이다. 프로그램에서는 효율성을 위해 필요한 만큼의 메모리를 시스템으로부터 할당받아 사용하고 사용이 끝나면 시스템에 메모리를 반드시 반납한다. 동적 메모리는 malloc()계열 라이브러리 함수를 사용해 할당받아 사용할 수 있다. malloc은 메모리를 할당하라는 의미이며 오른쪽 int형의 크기만큼 할당한다는 의미이다. int형은 4byte이므로 4를 넣어도 무방하다. 메모리를 할당 후 그부분의 주소를 가리키도록 해야하므로 (int *) integer pointer로 형변환을 시켜줌으로써 포인터 integer 변수가 해당 위치를 기억할 수 있게 해주는 것이다. pi가 NULL값이라 실패 문구가 뜬다면 exit(1)을 띄워 즉시 프로그램..
2020.08.10 -
로컬 PC 범위내에서 파일을 직접 입력, 출력할 수 있다. C에서 제공하는 FILE 데이터 타입 변수는 close, write, delete, rename, open. read 같은 다양한 기능을 가지고 있다. fp = fopen 은 포인벼 변수fp에게 output.txt 파일을 열으라는 의미이며 w는 write 쓰기 모드를 의미한다. fp=NULL 즉 파일을 찾지 못했다면 실패 문구를 띄우며 그게 아니라면 성공 문구를 띄우고 fputc는 한글자씩 출력할 수 있다. fclose로 프로그램 종료시엔 해당 FILE변수를 반드시 닫아줄 수 있도록 한다. 출력후엔 위와 같이 output.txt 파일에 HELLO 문구가 출력된 것을 볼 수 있다. 읽기 모드로 실행하기 위해선 input.txt 파일이 사전에 존재해..
C 프로그래밍 (17) - 파일 입출력로컬 PC 범위내에서 파일을 직접 입력, 출력할 수 있다. C에서 제공하는 FILE 데이터 타입 변수는 close, write, delete, rename, open. read 같은 다양한 기능을 가지고 있다. fp = fopen 은 포인벼 변수fp에게 output.txt 파일을 열으라는 의미이며 w는 write 쓰기 모드를 의미한다. fp=NULL 즉 파일을 찾지 못했다면 실패 문구를 띄우며 그게 아니라면 성공 문구를 띄우고 fputc는 한글자씩 출력할 수 있다. fclose로 프로그램 종료시엔 해당 FILE변수를 반드시 닫아줄 수 있도록 한다. 출력후엔 위와 같이 output.txt 파일에 HELLO 문구가 출력된 것을 볼 수 있다. 읽기 모드로 실행하기 위해선 input.txt 파일이 사전에 존재해..
2020.08.09 -
구조체를 이용해 위와 같이 사각형의 넓이를 구하는 코드를 만들 수 있다. 먼저 x와 y라는 정수형 변수를 가진 구조체 point를 만들어주고 사각형을 의미하는 rect 구조체에 점 p1과 p2를 넣어준다. 구조체가 현재 이중으로 활용된 것이다. 그다음 메인함수에서 구조체 rect를 변수 r로 선언해주고 가로, 세로, 넓이, 둘레 변수를 정수형으로 선언한다. 주소r의 점 p1 x와 y좌표, p2 x와 y의 좌표를 사용자 입력값으로 받고 가로 값과 세로값은 각각 abs라는 절댓값으로 입력되도록 한다. 출력하면 위와 같이 사각형의 넓이와 둘레를 구할 수 있다. 이 글은 프로그래머 나동빈님의 강의 내용을 개인적인 학습을 목적으로 정리하여 쓴 글임을 밝힙니다.
C 프로그래밍 (16) - 구조체 활용하기구조체를 이용해 위와 같이 사각형의 넓이를 구하는 코드를 만들 수 있다. 먼저 x와 y라는 정수형 변수를 가진 구조체 point를 만들어주고 사각형을 의미하는 rect 구조체에 점 p1과 p2를 넣어준다. 구조체가 현재 이중으로 활용된 것이다. 그다음 메인함수에서 구조체 rect를 변수 r로 선언해주고 가로, 세로, 넓이, 둘레 변수를 정수형으로 선언한다. 주소r의 점 p1 x와 y좌표, p2 x와 y의 좌표를 사용자 입력값으로 받고 가로 값과 세로값은 각각 abs라는 절댓값으로 입력되도록 한다. 출력하면 위와 같이 사각형의 넓이와 둘레를 구할 수 있다. 이 글은 프로그래머 나동빈님의 강의 내용을 개인적인 학습을 목적으로 정리하여 쓴 글임을 밝힙니다.
2020.08.08 -
구조체 struct는 기본적으로 아래와 같은 구조로 이루어진다. 새로운 구조체 함수를 만들어 메인함수에서 구조체를 가져와 s라는 이름을 붙여 변수를 만든 것이다. 위와 같이 입력값에 따라 출력되도록 만들수도 있다. %lf는 double형 데이터를 입력받을 때 사용되며 %f는 float형 데이터를 입력받을 때 사용된다. 위는 두 점 사이의 거리를 구하는 코드이다. point 구조체를 생성해주고 메인함수에 각각 xDiff(x점 사이 차이), yDiff(y점 사이 차이)를 넣어주고 점 사이 거리를 double형 데이터 타입으로 넣는다. sqrt는 괄호안 값의 제곱근을 출력해주는 것으로 거리 공식을 대입하면 8이 나오고 제곱근 루트8이 출력된다. 이 글은 프로그래머 나동빈님의 강의 내용을 개인적인 학습을 목적으..
C 프로그래밍 (15) - 구조체 struct구조체 struct는 기본적으로 아래와 같은 구조로 이루어진다. 새로운 구조체 함수를 만들어 메인함수에서 구조체를 가져와 s라는 이름을 붙여 변수를 만든 것이다. 위와 같이 입력값에 따라 출력되도록 만들수도 있다. %lf는 double형 데이터를 입력받을 때 사용되며 %f는 float형 데이터를 입력받을 때 사용된다. 위는 두 점 사이의 거리를 구하는 코드이다. point 구조체를 생성해주고 메인함수에 각각 xDiff(x점 사이 차이), yDiff(y점 사이 차이)를 넣어주고 점 사이 거리를 double형 데이터 타입으로 넣는다. sqrt는 괄호안 값의 제곱근을 출력해주는 것으로 거리 공식을 대입하면 8이 나오고 제곱근 루트8이 출력된다. 이 글은 프로그래머 나동빈님의 강의 내용을 개인적인 학습을 목적으..
2020.08.08 -
문자열은 C에서 다양한 문자표현을 나타내기 위해 사용한다. 내부적으로 문자열은 char자료타입의 배열로 이루어져있으며 이것은 포인터와 같다고 할 수 있다. 영문같은 경우 알파벳 1개당 1byte의 크기를 가지며 한글같은 경우 글자 1개당 2byte의 크기를 가진다. 이것은 array의 크기가 10개의 문자가 들어갈 수 있는 공간이라고 했을때 영문은 10자, 한글은 5자 들어갈 수 있다. 배열은 선언 후 배열 몇번쨰의 값의 메모리 주소 자체가 배열 자체가 된다. 이런 의미에서 배열은 포인터라고 할 수 있다. array[1]에서 5의 값이 들어있다면 &array[1]은 해당 값이 들어있는 곳의 주소를 말한다. = 포인터 1001 개 만큼의 문자가 들어갈 수 있는 하나의 문자열 input변수를 만든다. get..
C 프로그래밍 (14) - 문자열 함수 string문자열은 C에서 다양한 문자표현을 나타내기 위해 사용한다. 내부적으로 문자열은 char자료타입의 배열로 이루어져있으며 이것은 포인터와 같다고 할 수 있다. 영문같은 경우 알파벳 1개당 1byte의 크기를 가지며 한글같은 경우 글자 1개당 2byte의 크기를 가진다. 이것은 array의 크기가 10개의 문자가 들어갈 수 있는 공간이라고 했을때 영문은 10자, 한글은 5자 들어갈 수 있다. 배열은 선언 후 배열 몇번쨰의 값의 메모리 주소 자체가 배열 자체가 된다. 이런 의미에서 배열은 포인터라고 할 수 있다. array[1]에서 5의 값이 들어있다면 &array[1]은 해당 값이 들어있는 곳의 주소를 말한다. = 포인터 1001 개 만큼의 문자가 들어갈 수 있는 하나의 문자열 input변수를 만든다. get..
2020.08.08