목록C언어 공부/C언어 독학 (교재) (13)
못정함
-포인터는 변수이므로 값을 얼마든지 바꿀 수 있다. -언제든지 다른 주소를 저장하거나 포인터끼리 대입할 수 있다 -그러나 대입 연산에 엄격한 기준이 적용된다.주소변수에 할당된 메모리 저장 공간의 시작 주소 값 자체상수포인터주소를 저장하는 또 다른 메모리 공간변수따라서-두 포인터가 같은 주소를 저장하는 것 가능 (하나의 변수를 동시에 가리킨다.) -주소도 포인터처럼 간접 참조 연산자를 쓸 수 있지만, 상수이므로 대입 연산자 왼쪽에 올 수 없음.&a = &b 불가능. -포인터도 저장 공간이므로 그 크기가 있음 : 저장할 주소의 크기에 따라 결정된다.-모든 주소와 포인터는 가리키는 자료형에 관계 없이 크기가 같다. -sizeof 연산자로 크기 확인-포인터는 크기가 모두 같다.1. 포인터는 가리키는 변수의 형태..

keyword메모리 주소, &: 주소 연산자, *: 간접 참조 연산자-C언어는 메모리에 접근해서 우리가 원하는 방식으로 데이터를 사용할 수 있게 해주는 언어이다.-데이터에 접근하는 방식 : 변수 / 메모리 주소 값 (포인터 사용)변수선언된 블록{} 안에서만 사용(함수 내부에서만 사용 가능)-같은 변수명이어도 블록이나 함수가 다르면 별도의 저장공간을 확보하므로 전혀 다른 변수로 사용됨.메모리-사용 범위를 벗어난 경우에도 데이터를 공유할 수 있음-메모리의 위치는 주소값으로식별 (바이트 단위로 구분) 주소: 변수가 할당된 메모리 공간의 시작 주소시작주소 위치부터 변수의 크기만큼 메모리를 사용함. *주소 출력하는 방법#include int main(void){ int a; double b; ch..
-배열이 단어를 저장하기 위한 가장 좋은 방법임 저장할 문자열의 길이보다 최소한 하나 이상 크게 배열을 선언해야함nul문자 (\0) 를 저장하기 때문임*nul문자는 상당히 중요함. 문자열의 끝을 표시한다. char str[80];str[0] = 'a';str[0] = 'p';str[0] = 'p';str[0] = 'l';str[0] = 'e';str[0] = 'j';str[0] = 'a';str[0] = 'm';str[0] = '0' // 하나하나 넣을 거면 반드시 널 문자 넣어줘야함!!!!!!!!!!!!!!!!!!!!!!!!!!이렇게 넣든char str[80] = "applejam";이렇게 넣든둘 다아래처럼 저장됨applejam\0 #include int main(void){ char str[80..
함수 원형) 반환형 함수명(매개변수) 언제나 함수에 반한형과 매개변수가 있는 건 아님 -> 매개변수가 없을 경우에는 void를 사용*그래서 main(void) 인가보다 -함수 실행 시 input을 받을 때 활용#include int get_num(void);int main(void){ int result; result = get_num(); //함수 호출하고, 반환값을 result에 저장 printf("return : %d\n", result); return 0;}int get_num(void) //매개변수 없음 (void)써주면 됨{ int num; printf("input positive number: "); scanf("%d", &num); return ..

역시나 사진출처는https://www.geeksforgeeks.org/c-functions/?ref=lbp함수: 기능을 수행하는 코드 단위-printf, scanf ) 얘네는 표준 라이브러리 함수 (프로그램에서 바로 사용할 수 있게 구현되어 있는 함수), studio.h 헤더 파일에 포함되어 있음-함수는 '정의', '호출', '선언' 3가지 과정이 필요함함수 정의) 함수를 실제 코드로 만드는 것으로 함수의 구현함수 호출) 함수 호출을 해야 함수 사용가능 (main함수 안에서 사용)함수 선언) 프로그램의 상단에서 어떤 함수를 사용할 것이라고 컴파일러에 정보를 주는 역할을 함. (main 함수 위에 적어주는 것)-매개변수 name은 생략가능int sum (int a , int b ); // 매개변수 이름이 ..

구글링 하다가 우연히 찾은 사이트인데 여기 좀 좋은 듯https://www.geeksforgeeks.org/ GeeksforGeeksA Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.www.geeksforgeeks.org사진도 다 여기서 가져옴-일정 조건을 만족하는 동안 같은 실행문을 반복하는 것 -조건식: 반복의 조건을 정의함 -초기식, 조건식, 증감식-순서) initializ..
선택문 = 조건문5-1장) if문 , if~else문, if~else if~else문5-2장) if문 중첩, else 결합 문제, switch~case문 제어문선택문if, switch~case반복문while, for, do~while분기문break, continue, goto, returnif (조건) {실행문} -실행문이 한 문장일 때는(때만) 중괄호 생략가능하지만 그냥 나는 항상 중괄호 챙기는 걸로...*주의) printf()를 중괄호 안에 넣어줘야한다. if (조건식) {실행문1}else{실행문2} *else에는 조건을 사용하지 않음 (조건을 만족하지 않을 때 무조건 else 부분을 실행하도록)-실행문이 한 문장일 때만 중괄호 생략이 가능하다 if (조건식1){실행문1}else if (조건식2){실..

형 변환 / sizeof / 복합대입 / 콤마 / 조건비트 연산자 우선순위, 방향-피연산자를 하나 가짐-피연산자의 값을 원하는 형태로 바꿈. ex) 정수형을 실수형으로 / 실수형을 정수형으로-일시적으로 바꾸는 것임. 연산 후 메모리에 남아 있는 피연산자의 형태나 값은 변하지 Xint a = 10;일 때(double)10하면 됨-정수 부분만 추리고 싶을 때도 사용함 (소수점 이하의 값은 반올림X. 무조건 버림) 자동 형 변환-피연산자가 2개 이상이면 피연산자의 형태가 같아야함.-형태가 다르면 형태를 자동으로 일치시킴.-데이터 크기가 작은 값이 크기가 큰 값으로 바뀜.-정수(4byte) , 실수(8byte) ==> 실수로 자동 변환.-대입 연산자는 무조건 좌항의 변수형에 맞게 저장됨 -웬만하면 네가 잘 맞..

-프로그램은 CPU가 처리하는 명령어의 묶음이다.-연산의 대상이 되는 데이터: 피연산자-연산자: operand+, -, * , /나머지 %*실수 연산에는 나머지 개념이 없음. (나머지 연산자의 피연산자는 반드시 정수) = ++a;-증가 연산자-a에 1을 더함.a = a + 1; 과 같은 것임--a; (- 2개임)-감소 연산자-증감 연산자는 하나의 연산자로 대입 연산까지 수행하므로 변수의 값을 1씩 증가시키거나 감소시킬 때 쉽게 사용할 수 있음-for, while, do while문에서 많이 사용함-상수에 직접 사용 불가 (++10 안됨. 변수에만 사용)++a;전위 표기-값이 증감하고 나서 연산에 사용-다른 연산자와 함께 사용하면 증감연산자가 가장 마지막에 계산됨a++;후위 표기-연산에 사용하고 나서 값이..

-입력한 데이터는 (키보드로 타이핑하는 모든 내용은) 문자로 인식됨 -> 변환 과정이 필요함 -> scanf 함수 이용 : printf 함수로 출력할 때 사용하는 변환 문자와 거의 같음 *나는 VS code를 사용하고 있는데, 입력값을 받으려면launch.json 에서 configurations 부분을 수정해줘야한다 "configurations": [ { "type": "node", "request" : "launch", "name" : "Launch Program", "program": "${workspaceFolder}/config.js", "console": "integratedTermi..