본문 바로가기

Study/C

(12)
7. 구조체 구조체구조체: 여러 개의 데이터를 그룹으로 묶어서 하나의 자료형으로 정의하고 사용하는 자료형. 서로 다른 타입끼리 묶을 수 있다.구조체의 구조레코드(Record): 구조체의 단위 형식필드(Field): 레코드를 구성하는 하위 항목파일(File): 레코드의 묶음. 하나의 구조체 통째.표를 예로 들어보면, 표 하나 통째는 파일, 표 한 줄은 레코드, 표 한 칸은 필드가 된다. 구조체의 선언 & 초기화 struct 구조체이름 { 타입 이름1; 타입 이름2; ... 타입 이름n; };이건 구조체를 선언만 한 것이고, 사용하려면 구조체 변수를 또 다시 선언해야 한다. struct 구조체이름 구조체변수이름;이렇게 변수 이름을 선언해주어야 비로소 사용할 수 있게 된다. * 구조체의 선언과 구조체 변수 이름의 선언을 ..
6. 포인터 포인터포인터: 주소값을 저장하는 변수. 포인터 자체도 하나의 변수 종류다! (포인터변수)포인터 선언int *ptr; 포인터 초기화방법1: 변수 주소 대입 int val = 10; int *ptr; ptr = &val;방법2: malloc이용. 동적 메모리 할당. 꼭 free 해주어야 한다! char *ptr = (char*)malloc(100); // char형 공간 100개의 시작주소를 ptr에 지정 *ptr = 'a'; //ptr이 만들어진 빈 공간에 a 넣음. ​ ​ int age = 20; int *agePtr = malloc(sizeof(age)); //age의 크기만큼 할당. agePtr이 가리키는 공간 안에는 쓰레기값이 저장되어있다. ​ ​ free(ptr); free (agePtr); //..
3.1 연산자 보호되어 있는 글입니다.
2.3 진법 , 기본형 2진법, 10진법2의보수 생략 오버플로우정수형실수형생략
2,1 변수와 자료형 변수변수 : 단 하나의 값을 저장할 수 있는 메모리 공간변수를 사용하기 위해서는 우선 선언을 해 주어야 한다. ex) int age;변수를 초기화하기 전에는 쓰레기값이 저장되어 있다. Why? 메모리를 지우지 않고 계속 덮어 쓰기 때문에 다른 프로그램에 의한 쓰레기값이 남아 있는 것.변수의 초기화 : ex) int age = 25;* 예전 컴파일러에서는 선언문과 초기화를 섞어 쓰면 에러가 나기도 한다. int age; age = 25; int grade; ​ //에러발생 int age; int grade; age = 25; ​ //OK int age; age = 25; int grade; ​ //에러발생 int age; int grade; age = 25; ​ //OK 변수의 값 교환하기x와 y의 값을 ..
2.2 sizeof, 화면입출력, 상수, 리터럴 sizeof 연산자sizeof : 타입 또는 변수의 크기를 바이트단위로 알려준다.같은 타입이라도 각 CPU종류와 컴파일러에 따라 크기가 다르기 때문에 필요하다. (같은 int라도 어떤 컴퓨터에서는 4byte, 어떤 컴퓨터에서는 2byte가 가능) sizeof 변수: 변수의 크기를 byte단위의 정수로 반환. sizeof (타입): 타입의 크기를 byte단위의 정수로 반환. ​ ex) int i = 100; printf("%d", sizeof i); printf("%d", sizeof(int)); 상수와 리터럴 상수(constant): "한번만 값을 저장할 수 있는 공간."선언과 동시에 초기화 해야 한다. 한 번 값을 저장하면 변경할 수 없다.상수는 보통 대문자만으로 이름을 정한다. const int MA..
2. Hello, World! 0. 우선 환경변수를 등록하는 것 부터 시작한다. ...\MingW\bin을 Path에 등록한다. (gcc는 컴파일러다.) * gcc가 잘 설치되어있나 알아보기 위해 버전을 확인하는 방법: cmd에서 gcc --version 1. 텍스트 파일을 만들어 아래의 내용을 입력하고 .c파일로 저장하자. 1 2 3 4 5 6 #include int main() { printf("Hello, world!"); return 0; } cs 2. cmd를 열고 gcc ~.c를 입력하면(컴파일하면) a.exe파일이 나온다. 3. cmd에서 a를 실행시키면 "Hello, world!"가 뜬다. -
1. 기초부터 일단 C를 이용하여 자료구조를 공부할 것이다.CLion과 MingW를 깔았다. MingW에서는 C관련 플러그인들을 깔았고.찾아보니 GNU는 리눅스같은 OS인데 어떻게 쓸 지 모르겠다. | CPU CPU. 중앙처리장치. input을 받으면 output을 내는 함수같은 존재다. 연산을 담당한다.코어는 cpu의 핵심 부품 정도로 생각하면 된다. 클럭은 CPU의 속도랑 비슷한 개념이다. 클럭이 높을수록 같은 시간 내 처리하는 신호가 많다는 의미다.참고로 CPU는 표준화가 되어 있지 않다. 인텔과 AMD는 다르다는게 이거였다. | Assembly language [어셈블리어] cpu는 연산을 담당한다고 했다. 연산에 번호를 붙여서 1번 연산, 2번 연산, 3번 연산...힘들다. 그래서 이들에 이름을 붙여 준다. ..