학습 기록 61

(7) 포인터

/C 📌 포인터의 개념- 주소값의 이해: 주소값 = 데이터가 저장된 메모리의 시작 주소 - 포인터란 메모리의 주소값을 저장하는 변수이다.int n = 100;int *ptr = &n; 위의 예시에서 n이라는 변수를 선언하고, *ptr을 통해 포인터를 선언하였다. - 포인터 연산자에는 주소연산자와 참조연산자가 있다. - 주소연산자(&)는 변수 이름 앞에 기호를 붙여서 사용한다. 해당 변수의 주소값을 반환하여 번지연산자라고도 불리며, 기호 &은 앰퍼샌드라고 읽는다. - 참조연산자(*)는 포인터 이름이나 주소 앞에 붙여서 사용한다. 포인터가 가리키는 주소에 저장된 값을 반환한다. - 포인터를 선언하는 방식은 아래와 같다.타입 * 포인터이름 = &변수이름;타입 * 포인터이름 = 주소값; - 포인터를 참조할 때..

학습 기록/C 2024.11.11

(6) 배열

/C 배열이란 같은 타입의 변수로 이루어진 유한한 집합을 의미한다. 배열을 구성하는 각각의 값은 요소(element), 배열에서의 위치는 인덱스(index)라고 부른다. 인덱스는 늘 0부터 시작하며, 0을 포함하는 양의 정수만을 갖는다. 📌 1차원 배열- 1차원 배열을 선언하는 방법은 아래와 같다.타입 배열이름[배열길이]; 참고로 위와 같이 선언 후 초기화하지 않는다면 배열에는 쓰레기값이 저장된다. 주의할 것.#include int main(void){ int i; int sum = 0; int grade[3]; // 길이가 3인 int형 배열 선언 /* 배열의 초기화 */ grade[0] = 85; // 국어 점수 grade[1] = 65; // 영어 점수 grade[2] = 90;..

학습 기록/C 2024.11.10

(5) 함수

/C 📌 C언어 함수- 함수란 하나의 특별한 목적이 있는 작업을 수행하기 위해 독립적으로 설계된 프로그램 코드의 집합이다. 표준함수, 사용자 정의 함수가 있다. 함수를 사용함으로써 반복적인 프로그래밍을 피하고 코드의 가독성을 높일 수 있다. 이 점은 유지/보수에도 유리하다. - 함수의 정의int sum (x, y){ //명령문} 반환 타입: 함수의 결과로 반환할 타입을 지정한다. 위의 예시에서는 int이다.함수 이름: 함수를 호출할 수 있는 이름이다. 위의 예시에서는 sum매개변수 목록: 함수 호출 시 전달되는 인수의 값을 저장할 변수들을 의미한다. 여러 인수를 전달할 수 있지만 반환값은 0개이거나 1개뿐이다. 위의 예시에서는 (x, y)함수 몸체: 함수에서 수행할 명령문을 의미한다. 중괄호 부분 #i..

학습 기록/C 2024.11.09

(4) 제어문

/C - 프로그램의 순차적인 흐름을 제어할 필요가 생길 때가 있다. 그럴 때는 제어문을 활용한다. 제어문에는 조건문과 반복문이 있으며, 명령문들은 중괄호{} 안에 표기한다. 중괄호 영역을 블록이라고 부른다.  📌 조건문- if문의 기본 형태는 아래와 같다.if(조건식){ 참일 때 실행할 명령문;} 명령문의 경우 들여 쓰기를 하는 것이 일반적인데, 이러한 들여 쓰기를 인덴트indent라고 부른다. 또한 명령문이 한 줄 뿐이라면 중괄호 생략이 가능하다. 조건의 개수에 따라 if/else문, if/else if/else문 또한 사용 가능하다. 또한 삼항연산자로 간결한 조건문 표현이 가능한데, 그 형식은 아래와 같다.조건식 ? 반환값1 : 반환값2; if/else if/else문의 예제 코드는 아래와 같다.#..

학습 기록/C 2024.11.08

(3) 연산자

/C 📌 산술연산자- 연산자에도 당연히 우선순위가 있다. 이걸 전부 외우기보단 그때그때 참고하는 것이 좋다. 코딩교육 티씨피스쿨4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등tcpschool.com위 링크에서 산술연산자의 우선순위 확인이 가능하다.  📌 증감연산자++x1 증가 -> 연산 진행x++연산 진행 -> 1 증가--x1 감소 -> 연산 진행x--연산 진행 -> 1 감소 예제를 살펴보자.int x = 10;int y = x-- + 5 + --x;printf("변수 x의 값은 %d이고 변수 y의 값은 %d입니다.\n", x, y);//변수 x의 값은 10이고 변수 y의 값은 23입니다. y값의 계산 순서를 살펴보자면,x-- + 5 => x(10) + 5 ..

학습 기록/C 2024.11.07

(2) 타입

/C 📌 변수- 변수란 데이터를 저장할 수 있는 메모리 공간을 의미하며, 정수형(char, int, long)과 실수형(float, double), 포인터 변수, 사용자 정의 구조체 변수가 있다. - 변수의 이름은 숫자, 언더스코어(_), 영문 대소문자로만 지을 수 있으며 숫자로 시작할 순 없다. 또한 C에서 사용되는 예약어를 변수로 사용할 수 없음에 유의해야 한다.  - 비트는 컴퓨터가 데이터를 처리하기 위해 사용하는 데이터의 최소 단위이며(0, 1을 저장하는 이진수 값), 바이트는 비트가 8개 모인 구조로 한 문자를 표현한다. - 변수는 메모리 주소를 기억하는 역할을 담당한다. 메모리 주소는 메모리 공간에서의 정확한 위치를 식별하게 한다. 따라서 변수를 참조한다는 것은, 메모리 주소에 저장된 데이터..

학습 기록/C 2024.11.06

C (1) 개요와 기초

/C 📌 C 프로그램의 특징- C의 기본 단위 = 함수모든 C 프로그램은 main 함수를 갖고 있어야 한다. 컴퓨터가 C 실행 시에 제일 먼저 main 함수를 호출한다. - 함수 내 각 명령문은 세미콜론(;)으로 끝나야 한다명령문은 기능 정의를 위해 사용되는 문장으로, 위에서 아래로 순차적으로 실행된다. - 대소문자 구분 - 자유 형식(free-format) 허용문법만 맞으면 어떻게 쓰더라도 상관없다. 그렇지만 코드의 가독성을 챙기는 것이 좋다. - 주석//한 줄 주석은 이렇게 작성한다/*여러 줄주석은이런 식으로작성한다*//*주석 안에//주석을 중첩하는 것도가능하다*/다만 여러 줄 주석 안에 여러 줄 주석을 중첩하는 것은 불가능하다는 것을 유념해야 한다. (인식 상 오류 발생)  📌 printf() ..

학습 기록/C 2024.11.05

밈 메이커 만들기 (4)

/JavaScript    밈 메이커 만들기 (3)/JavaScript  밈 메이커 만들기 (2)/JavaScript  밈 메이커 만들기 (1)/JavaScript https://developer.mozilla.org/ko/docs/Web/API/Canvas_API 엘리먼트를 통해 그래픽을 그리기위한 수단을 제공합니다. 무엇보다도 애니romiwaves.tistory.com 📌 Adding Images- 로컬 이미지를 불러와 캔버스와 동일한 크기로 캔버스 위에 뿌려줄 수 있는 코드를 작성하였다. 우선 file을 input으로 받는다. 유의할 점은 type만 설정하면 어떤 형태의 파일이라 할지라도 다 받아온다. 우리가 필요한 것은 이미지를 받아 오는 것이므로, accept를 통해 이미지 파일만 받을 수 있..

학습 기록/FE 2024.11.01

밈 메이커 만들기 (3)

/JavaScript  밈 메이커 만들기 (2)/JavaScript  밈 메이커 만들기 (1)/JavaScript https://developer.mozilla.org/ko/docs/Web/API/Canvas_API 엘리먼트를 통해 그래픽을 그리기위한 수단을 제공합니다. 무엇보다도 애니메이션, 게임 그래픽, 데이터 시romiwaves.tistory.com  📌 Mouse Painting- 사용자가 isPainting = true 상태에서 mousemove일 때 그림이 그려져야 한다.function onmove(event) { if(isPainting) { //isPainting 변수를 이미 선언해 둔 상황 ctx.lineTo(event.offsetX, event.offsetY); ..

학습 기록/FE 2024.10.31

밈 메이커 만들기 (2)

/JavaScript  밈 메이커 만들기 (1)/JavaScript https://developer.mozilla.org/ko/docs/Web/API/Canvas_API 엘리먼트를 통해 그래픽을 그리기위한 수단을 제공합니다. 무엇보다도 애니메이션, 게임 그래픽, 데이터 시각화, 사진 조작 및 실시간 비디romiwaves.tistory.com  📌 Painting Lines- 캔버스를 클릭했을 때 선을 그리도록 하고 싶다: 그럼 클릭했을 때의 위치 좌표를 알아야 하고, 이론적으로는 (0,0)을 클릭해도 클릭되었다고 떠야 한다.function onclick(event){ ctx.lineTo(event.offsetX, event.offsetY); //클릭한 곳의 좌표 ctx.stroke(); //라인 ..

학습 기록/FE 2024.10.31