분류 전체보기

    ProjectH4C 2개월 4주차 과제 (코딩도장)

    📖UNIT39 📒문자와 문자열 포인터 include int main() { char c1 = 'a'; char *s1 = "Hello"; printf("%c\n", c1); printf("%s\n", s1); return 0; } 이 코드를 살펴보자. 먼저 c1에는 'a' 라는 값이 직접 들어가진다. 하지만 s1을 보면 포인터 변수로 선언이 되어있고, "Hello"라는 값의 메모리 주소가 들어가게 되는것이다. 그래서 문자열로 사용이 가능한것이다. 배열도 포인터이다. 이런 문자열의 끝에는 null 문자가 들어가있다. 📒문자열 포인터에 인덱스를 통한 값 변경을 ? 문자열 포인터도 인덱싱을 통해 값 변경을 할 수 있을까? 먼저 이런 포인터에서도 특정 인덱스의 값을 출력은 할 수 있다. #include int ..

    ProjectH4C 2개월 4주차 과제 (해커스쿨 ftz)

    해커스쿨 ftz를 해보자. 맥을 이용했기에 VMware Fusion을 사용했다. 📒Trainer1 먼저 ftz에 trainer1로 로그인을 하게 된다면 이렇게 뜬다. 터미널 창에서 순서대로 접속ID/서버/현재위치를 나타낸다. 그다음으로 ls 명령을 치게되면 현재위치에 있는 모든 폴더/파일들이 출력된다. 디렉토리와 파일을 구분해서 출력하고자 하면 ls -l을 치면 된다. 그럼 우리는 이 출력을 보고 디렉토리와 파일을 구분해보자. start.txt 라는 텍스트 파일과 tmp 폴더로 비교해보겠다. start.txt는 -rw-rw---- 로, 가장 왼쪽이 -이다. 하지만 tmp의 경우 drwxr-x--- 처럼 가장 왼쪽이 d이다. 이는, directory임을 의미하는 것이다. 이번엔 설정파일같은 중요한 파일들을..

    ProjectH4C 2개월 3주차 과제 (포인터 5문제)

    문제 풀기에 앞서, 풀 문제들에 대하여 알아보자. 코드업에 포인터를 검색했을 때 나오는 문제이다. 저 문제들을 풀고 더 문제를 찾아보도록 하자. 성공률이 높은 부분 문자열을 먼저 풀어보자. 📒부분문자열 (코드업, 1810) 입력 첫째 줄에 1개의 문자열이 입력된다. 문자열의 최대 길이는 100미만이다. 둘째 줄에 부분문자열의 시작위치 a와 끝위치 b가 정수로 입력된다. (단 0a번째 문자부터 b번째 문자까지를 출력한다. 문제 조건이 있다. 배열을 절대 사용하지 못한다는 것이다. 그러면 우리는 포인터로 풀기로 하자. 먼저 힌트는 배열대신 동적메모리 할당법을 사용하라는 것이다. 매우 이지하다. #include #include int main(){ char *string; int a,b; string = ma..

    ProjectH4C 2개월 3주차 과제 (UNIT36, 37, 38)

    📖UNIT36 📒배열을 선언하고 요소에 접근하기 먼저, 배열이 왜 필요한 지에 관한 설명은 생략하겠다. 배열의 기본적인 선언과 초기화는 자료형 배열이름[크기] = {값1, 값2, 값3 ..}; 이렇게 진행된다. int array[5] = {10, 20, 30, 40, 50}; 만약 배열이 이렇게 선언과 초기화가 된다면, array[0] = 10, array[4] = 50 이 될 것이다. 즉 인덱싱은 0번부터 진행된다. 만약 원소의 갯수는 정했지만, 배열의 크기를 계산하기 힘들다면 int array[] = {10, 20, 30, 40, 50}; 이렇게 진행해주면 된디. 📒배열을 모두 0으로 초기화하기. 그런 배열의 모든 값을 0으로 초기화해주고 싶다면 int arr[10] = {0, } 이렇게 해주면 된다..

    Arbitrary-Precision

    Pydata Stack을 사용하지 않는 Python의 경우 OverFlow가 발생하지 않을까. In computer science, arbitrary-precision arithmetic, also called bignum arithmetic, multiple precision arithmetic, or sometimes infinite-precision arithmetic, indicates that calculations are performed on numbers whose digits of precision are limited only by the available memory of the host system. (Wikipedia) Python2의 경우 int와 long이 있었다. 하지만 Py..

    ProjectH4C 2개월 3주차 과제 ( UNIT34, 35)

    이제 포인터를 복습해보자. ( 포인터라는 이 단어만 듣더라도 겁부터 먹게 된다. ) 📖UNIT34 📒포인터에 대하여 ... 이를 이해하기 위하여 먼저 변수와 메모리에 대해서 어느정도 알아야 한다. int num1 = 10; 이런 코드를 작성한다고 생각해보자. 그럼 num1이라는 공간은 메모리 위에 자리를 잡게 된다. 그 주소는 어떻게 알 수 있을까. 간단한 코드를 작성해보자. #include int main(){ int num1 = 10; printf("%p ", &num1); return 0; } 변수의 주소를 출력하는 코드이다. 이렇게 실행할 때 마다 다른 메모리 주소를 출력한다. ( 마지막의 '%' 는 왜 출력이 되는 지 모르겠음, 터미널 오류 ) 어쨌든, 그럼 이렇게 구한 변수의 메모리 주소를 어..