C 41

포인터 pointer 2 - 자료형 포인터 와 const

1.다양한 자료형의 포인터 int main() { long long* numPtr1; float* numPtr2; char* cPtr1; long long num1 = 10; float num2 = 3.5f; char c1 = 'a'; numPtr1 = &num1; numPtr2 = &num2; cPtr1 = &c1; printf("%lld\n", *numPtr1); //10 printf("%f\n", *numPtr2);//3.500000 printf("%c\n", *cPtr1);//a long long *numPtr1; //long long 포인터 char c1; c1 = *numPtr1; //변수 자료형과 포인터를 역참조한 자료형이 다름 } c언어의 자료형은 포인터로 만들수 있다 - 메모리의 공간을 ..

C/C 2022.10.02

포인터 pointer 1 - & 과 역 참조

포인터 - 주소 값의 저장을 목적으로 선언되는 포인터 변수 1. &변수 & 오른쪽의 등장하는 피 연산자의 주소값을 반환하는 연산자. int main() { int num1 = 10; printf("%p\n", &num1); //->00000028D79BF654 메모리 주소 실행할때마다 달라짐 } 변수의 메모리 주소를 구할때 변수 앞에 & 붙이면 된다. (& 은 주소 연산자) 메모리 주소는 16진수 형태 printf()로 %p를 사용하여 출력 (%x 도 사용가능) 메모리 주소는 고정된 것이 아님 실행시 마다 달라짐 2. 포인터 변수 선언 & 변수 로 메모리주소를 구함 메모리 주소를 저장 할때는 포인터(pointer) 변수에 저장한다. int main() { int* numPtr; //포인터 변수 int n..

C/C 2022.10.01

C 음료수 선택 _ 일단은 자판기

금액 입력 후 메뉴판 선택 code #define _CRT_SECURE_NO_WARNINGS #include #include #include const wchar_t drink[5][20] = { {L"1.코카콜라"},{L"2.칠성사이다"},{L"3.환타"},{L"4.미린다"},{L"5.레쓰비"} }; const int won[5] = { 1200, 1000, 700, 600, 500 }; void showDrink(wchar_t a[][20], int b[]); int moneyShort(int money, int drinkWon); int selectDrink(int money, int select); int selectDrink(int money, int select); int main() { in..

C/C 연습 2022.09.29

C 3500원 모두 소진 하는 가지 수

3500원이 있다. 크림빵 500원 새우깡 700원 콜라 400원 최소 1개씩 구매하고 돈을 모두 소진 하는 가지 수 출력 code #define _CRT_SECURE_NO_WARNINGS #include int main() { //용돈 int money = 35 - 16; //가격 설정 int cPrice = 5; int sPrice = 7; int caPrince = 4; int purch[5] = { 0, }; int count = 0; int choice = 0; for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { for (int l = 0; l < 5; l++) { if ((i * cPrice + j * sPrice + l * caPrinc..

C/C 연습 2022.09.28

C char 그리고 wchar_t 문자, 문자열

char #include int main() { char ch = 'ㄱ'; printf("%c\n", ch); return 0; } 출력 ? 한글 한 문자는 2바이트 영어 한 문자는 1바이트 영어는 저장하지만 한글은 저장하지 못한다. 1바이트 크기인 char 로는 한글에 있는 모든 문자를 표현하지 못한다. char 이용해서 한글을 출력하려면 [] 배열이 필요하다 wchar_t #include #include int main() { wchar_t ch = L'ㄱ'; wprintf(L"%c\n", ch); return 0; } 출력 ? wchar.h 헤더 파일에 선언 wchar_t 형 문자 사용시 대문자 L과 함께 사용 (예: L’한’) wchar_t 형식 문자열 사용시 대문자 L과 함께 문자열 사용 (예:..

C/C 2022.09.28

C 한글 한 글자 합쳐서 이름 만들기 (파일 제어 프로그램)

----------------------------- 파일 제어 프로그램 v1.1 ----------------------------- 1. 이름 생성하여 파일에 저장하기 2. 파일에서 이름 읽어오기 3. 프로그램 종료 ----------------------------- 메뉴 선택 : 조건1) 1차원 배열 초기값 이름의 1번째 --> "김", "박", "이", "최", "장" 이름의 2번째 --> "바", "사", "아", "자", "차" 이름의 3번째 --> "가", "나", "다", "라", "마" 조건2) 위의 값을 각각 랜덤하게 발생하도록 하여 50개의 풀네임을 생성하여 배열에 저장. - 순서1) last에서 랜덤하게 1개의 배열 요소값을 선택 - 순서2) first에서 랜덤하게 1개의 배열 요..

C/C 연습 2022.09.27

scanf() C4996 오류 이유, 해결

scanf 보안 경고 C4996 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. >> C4996 'scanf': 이 함수 또는 변수는 안전하지 않을 수 있습니다. 대신 scanf_s를 사용하는 것이 좋습니다. 지원 중단을 비활성화하려면 _CRT_SECURE_NO_WARNINGS를 사용하세요. 자세한 내용은 온라인 도움말을 참조하십시오. scanf()가 visual studio에서 보안문제로 depricated 상태이기 때문이다. depricated 더보기 네이버 ..

C/C 2022.09.26

묵시적 형 변환, 명시적 형 변환

형 변환의 기본 원칙 1.바이트 크기가 작은 자료형에서 큰 자료형으로 형 변환은 자동으로 이루어진다. 2.덜 정밀한 자료형에서 더 정밀한 자료형으로 형 변환은 자동으로 이루어진다. 명시적 형변환 (Explict Conversion) 크기가 큰 자료형에서 작은 자료형의로 변환될 경우와 더 정밀한 자료형에서 덜 정밀한 자료형으로 변환될 때에는 프로그래머가 명시적으로 써 주어야 한다 데이터의 손실을 감수하더라도 강제로 형변환 시키는 형태 자료형 a = (변환할 자료형) b; double a = 3.14d; int b = (int) a 실수형인 변수 a는 3.14 이나 명시적 형변환을 통하여 정수형변수 b의 값은 3 (0.14 데이터 손실)

C/C 2022.09.25