C 19

[C] 표준 입력 함수 scanf, getchar, gets, getch, getche, fgets)

평소 fgets나 gets함수는 잘 안쓰는 편인데, 입력 받을 때 scanf만 쓰는 것으로는 한계가 있기 떄문에 각 함수의 특징을 알아둘 필요가 있을 것 같다. 1-1. scanf() 1-2. sscanf() 2. getchar() 3-1. gets() 3-2. get_s() 3-3. fgets() 4. getche() 4-2. getch() 1-1. scanf() stdio.h - 공백을 읽을 수가 없어 문자열을 입력받을 때는 적합하지 않다. 예) hello world를 %s로 입력받을 경우 hello만 입력이 된다. (enter값을 data로 취급하지 않음) - 입력 data를 구별해주기 위해 공백문자를 구분 문자로 취급한다. - 버퍼에서 data를 읽어 들인 후에 버퍼 포인터를 엔터 값 뒤로 이동시..

C 2021.05.23

[C] 이중 포인터

이중 포인터 pp int a;//정수 변수 int *p;//정수 포인터 int **pp;//정수 포인터의 포인터 p = &a;//a의 주소를 p에게 줌 pp = &p;//p의 주소를 pp에게 줌 포인터 변수 p의 경우, a의 주소를 가리킨다. 포인터의 포인터 pp의 경우, 포인터 변수 p의 주소를 가리킨다. pp를 따라가면 p의 주소가 나오고, p를 따라가면 a의 주소가 나오는 것이다. 이런 방식으로 이중 포인터뿐만이 아니라 여러 개의 주소를 연결할 수 있다. int a;//정수 변수 int *p;//정수 포인터 int **pp;//정수 포인터의 포인터 int ***ppp;//정수 포인터의 포인터의 포인터 p = &a;//a의 주소를 p에게 줌 pp = &p;//p의 주소를 pp에게 줌 ppp = &pp..

C 2021.05.02

[C 기초] return문

보통 return 0을 자주 쓰는데 return -1은 무슨 뜻인지 궁금해서 검색해보았다. 0 : 정상 종료 -1 : 에러 발생 1이상 -2이하 : 구체적인 에러메시지를 보여줌 해당 Q&A 보기 return은 현재 함수를 종료시키고 그 함수를 호출했던 곳으로 되돌아가라는 뜻이다. 돌아갈 때 값을 반환할 수 있다. 잘 설명된 링크가 있어서 첨부한다. [C 언어] main()과 return 사용이유, 설명 ​안녕하세요 최개향입니다.오늘 배울 내용은 main, return PART 1 입니다.안녕하세요. 오늘 배울 내용... blog.naver.com

C 2021.03.27

[C 기초] 변수명 사용 규칙, 예약어

대부분의 언어에서 변수명을 선언할 때의 규칙이 있다. 실전에 도움될만한 규칙 식별자 : 변수나 함수 등의 이름 변수명 사용 규칙 1. 변수의 이름은 영문자(대소문자), 숫자, 특수기호 '_'로만 구성 2. 숫자로 시작할 수 없음 3. 이름 사이에 공백 불가 4. C언어에서 미리 정의된 키워드(keyword)는 사용할 수 없음 (예약어 금지) ※ 그 외 주의사항 C에서는 대소문자를 구별하므로 A와 a는 다른 변수다. 첫글자에 _가 오는 것이 가능함. 의미에 맞게 짓는 것이 좋음. (가독성을 위해) 올바른 변수 선언 int num; int _amount;//첫글자에 _가능 int size_s, middle;//여러 개를 선언할 때는 ,를 사용 float price_number; 잘못된 변수 선언 int a2..

C 2021.03.23

[C 기초] 데이터형, sizeof 연산자

데이터형에 대해 잘 정리된 블로그 글 추가) double형과 float형의 차이 기본 데이터형 몇 바이트인지는 외우도록 하자. 정수형 변수 char 1 byte -128 ~ +128 int 4 byte -2147483648 ~ +2147483647 unsigned int 4 byte 0 ~ 4294967295 long long int 8 byte -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 short 2 byte -32768 ~ 32767 실수형 변수 float 4 byte 3.4*10^37 ~ 3.4*10^38 double 8 byte 1.7*10^307 ~3.4*10^308 sizeof 연산자 데이터형이나 값의 바이트 크기를 구할 때 사용한다. 변..

C 2021.03.23

[C 기초] 소수점 지정 출력, 자릿수 지정, 캐스트

C에서 자릿수와 소수점을 지정한 수만큼 출력하게 할 수 있다. 소수점 지정 %.3f → 소수점 이하 3자리까지 표현하고 싶을 경우 #include int main(void){ double a = 105.225314; printf("%.10lf", a); return 0; } 자릿수 지정 %6d → 6칸으로 표시함 123을 %6d로 출력하면 빈칸 3개 + 123으로 표시된다. %06d로 출력하면 빈칸을 0으로 채운다. 소수점을 포함하기 때문에 유의해야 한다. #include int main(void){ int a = 123; printf("%6d", a); return 0; } 자세히 캐스트 대입문의 좌변과 우변의 자료형이 서로 다를 때는 자동으로 좌변의 자료형으로 변환된다. double a; a = 2;..

C 2021.03.23

[C 기초] 진수, 아스키코드

2진수 binary - 0과 1로만 나타내는 수 - 4자리 또는 8자리로 표현한다. (자릿수가 모자라면 상위를 0으로 채움) c언어에서 2진수로 출력하기 위해 10진수를 2로 나누는 것을 반복해 그 나머지를 역순으로 출력했던 기억이 있다. 10진수와 2진수를 비교해보자면 10진수 2진수 0 00000000 1 00000001 2 00000010 3 00000011 4 00000101 이런식으로 바꿀 수 있다. 진법 변환 알아보기 8진수 octal - 0부터 7까지 표현 가능 - c언어에서는 8진수를 구별할 때 앞에 0을 붙인다고 한다. (01234 -> 668) - c언어에서는 %o로 출력가능 (%#o로 출력하면 접두사 0이 표시된다) c에서 8진수 출력하기 16진수 Hexadecimal - 0부터 15..

C 2021.02.26