본문 바로가기

분류 전체보기

(432)
[C언어] 포인터에 대해 알아보자 1. 포인터의 기본 포인터란 포인터 일반 변수의 메모리 내 주소번지를 갖는 자료형 포인터를 사용하면 변수명을 통하지 않고 사용하고자 하는 대상에 직접 접근을 할 수 있어 프로그램을 간결하고 효율적으로 제어할 수 있음 포인터의 자료형 주소 연산자 (&) - 일반 변수명에 사용. 해당 변수의 메모리 주소를 가리킴 간접 연산자 (*) - 포인터 변수명에 사용. 주소가 저장되어 있는 메모리 위치를 가리킴 1. 포인터 선언 1) 선언하는 방법 자료형 * 변수명; int * ptr; *연산자가 1개면 1차원 포인터 1차원 포인터는 일반변수의 주소를 값으로 가짐 int i = 3; int * ptr = &i; 여기서 변수 ptr은 1차원 포인터로, 일반 변수인 i의 주소값을 가리킨다. 그리고 int *은 변수 ptr..
[부스트 코딩 뉴비 챌린지 2020] week3: 배열 1. 컴파일링 들어가기 전에 우리가 작성한 C 코드를 실행하기 위해서는 컴파일링을 해줘야 합니다. C문법로 작성된 텍스트 형식의 파일은 컴파일링시 구체적으로 어떤 단계를 거쳐서 컴퓨터가 해석 가능한 파일로 변환될까요? 학습 목표 컴파일링의 네 단계를 설명할 수 있습니다. 핵심 단어 컴파일링 어셈블링 링킹 stdio.h 헤더파일 C언어로 작성되어 있으며 파일명이 .h로 끝나는 파일이다. 이 파일에는 printf 함수의 프로토타입이 있어서 clang컴파일러가 프로그램을 컴파일할 때 printf가 무엇인지 알려주는 역할을 한다. 1. clang hello.c ./a.out 2. clang -o hello hello.c #실행 옵션 중 하나로, 생성되는 파일명을 지정하게 해준다 ./hello cs50.h cs5..
[부스트 코딩 뉴비 챌린지 2020] week2_LIVE 강의 CS50크롤링(Cralling) 웹 페이지에 있는 데이터를 긁어 오는 것. 사전질문 Q&A 1.비전공자의 경우, 어떤 언어가 나한테 맞는지 어떤 분야가 내게 맞는지 파악하기 쉽지 않은데요, 관련해서 좀 더 쉽게 알 수 있는 팁이 있을까요? : 무언갈 만들어보면 알 수 있다. 내가 만들고자 하는 것을 만들어보자. 만들어보고자 하는 것이 없다면, 클론 코딩을 해보자! 클론 코딩을 할 때에도 막연하게 하기보다는 무얼 만들어야 겠다고 '주제'를 정하고 시작을 하자. 2. 코딩을 잘하고 싶은데 진입장벽이 너무 높아요. 코딩대회, 공모전, 해커톤 등 대회에 나가고 싶은데 어느 정도 실력을 쌓아야 할까요? 실력을 생각하면 평생 못 나간다. Done is better than perpect. 일단 하는 게 먼저다. 완..
[부스트 코딩 뉴비 챌린지 2020] week2_Q&A Q1. 파이썬에서 같은 경우에는 받아온 문자열이 day에 저장되면 day==“월요일“ 이렇게만 입력해도 문자열이 비교가 되는데 day=input() if(day=='sunday'): print("true") c언어에서는 day에 저장된 문자열과 "월요일"이 같은지 비교 하려면 srtcmp함수를 사용해서 srtcmp(day,"월요일") 이렇게 작성해야 비교가 됩니다. #include #include #include int main(void){ string day = get_string("요일을 입력하세요.\n"); if(strcmp(day,"일요일")==0){ printf("true"); } } 파이썬에서는 왜 간단히 비교연산자만 사용해도 되는지 또 c언어는 다른 함수를 써줘야 하는지 두가지가 궁금합니다!..
[부스트 코딩 뉴비 챌린지 2020] week2_Q&A : 형식 연산자 %i와 %d 강의를 들으면서 정수를 출력할 때 %i를 사용한다고 배웠다. 하지만 예전에 C언어 수업을 들을 때 %d를 자주 사용했던 걸로 기억한다. 기억을 따라 그 당시 수업에 배웠던 교재를 펼쳐보니 %i의 형식은 전혀 사용하지 않았었다. 따라서 %i는 무엇이고 %d는 무엇이지? 라는 의문이 들며 혼란스러웠다. C언어에서 정수형인 데이터(int, long, short, ...)를 출력할 때 %d를 사용하는데, 강의에서는 %i로 소개하고 있습니다. %i와 %d 둘 중 어느 것이 맞나요? %d: 내가 이제 변수를 하나 입력받을껀데 그건 32비트 10진수야! %i : 내가 이제 변수를 하나 입력받을껀데 그건 integer type 이야! 여기서 약간 뉘앙스가 달라진다. 물론 결과도 달라지지만. %d는 입력변수가 10진수라..
[부스트 코딩 뉴비 챌린지 2020] week2: mission 문제 풀이 문제1 풀이1) #include #include int main(void) { int now = 5; int order = 3; int price = 10000; float percent = 1.1; printf("주문건수 : %i 건\n", order); printf("기존 재고량 : %i개\n", now); printf("남은 재고량 : %i개\n", now - new); printf("매출액(부가세포함) : %.f원\n", now * percent * price); } 풀이2) #include #include int main(void) { int now = 5; int order = 3; printf("주문건수 : %i 건\n", order); printf("기존 재고량 : %i개\n",..
[부스트 코딩 뉴비 챌린지 2020] 라이브러리 라이브러리 라이브러리는 프로그래머들이 이미 만들어진 코드를 다시 개발하지 않아도 되게 하고, 서로 함께 작업할 수 있도록 만들어주는 함수의 모음입니다. 라이브러리는 문자를 대문자에서 소문자로 변환하거나, 문자열을 정수로 변환하는 것 등 C에서 자주 쓰이는 연산들의 함수를 포함합니다. 여러분의 프로그램에서 비슷한 기능을 수행해야 한다면, 이미 만들어져 있는 함수를 또 만드는 대신 이미 존재하는 라이브러리를 그대로 사용할 수 있습니다. 라이브러리 사용하기 라이브러리를 불러오기 위해서는 #include를 사용해 해당 라이브러리의 헤더 파일을 포함해주면 됩니다. 라이브러리를 불러오면 라이브러리 함수들을 사용할 수 있습니다. 왼쪽의 코드와 같이 작성하면 stdio.h 라이브러리에 속한 함수(printf, scan..
[부스트 코딩 뉴비 챌린지 2020] week2: C언어 1. C 기초 들어가기 전에 그래픽 인터페이스로 상호작용성이 좋은 스크래치로도 간단한 프로그래밍을 할 수 있지만, 텍스트 기반의 프로그래밍 언어를 이용해도 컴퓨터에게 동일한 일을 하게 할 수 있습니다. 가장 널리 쓰이는 프로그래밍 언어중 하나인 C의 기초를 배워보겠습니다. 학습 목표 C로 “hello, world”를 출력하는 프로그램을 만들 수 있습니다. 핵심 단어 stdio.h clang 컴파일러 clang(클랭) 터미널에는 명령행 인자라는 것도 추가할 수 있다. clang에서는 출력과 관련된 인자로 -o를 사용할 수 있다. 어떤 이름이든 지정하여 머신코드 파일을 저장할 수 있다. clang -o hello hello.c 이를 입력하게 되면, hello.c의 출력이 hello로 만들어지게 된다. 따라서..

반응형