분류 전체보기651 [C언어] 14강 구조체 14강 구조체 구조체란 간단한 변수나 배열로는 나타내기 어려운 데이터들을 나타내는 방법 코드로 예를 들어 보면,#include struct Point{ int x; int y;}p1, p2, p3;int main(){ p1.x = 100; p1.y = 0; p2.x = 0; p2.y = 100; p3.x = 100; p3.y = 100; printf("%d %d\n", p1.x, p1.y); printf("%d %d\n", p2.x, p2.y); printf("%d %d\n", p3.x, p3.y); return 0;}이러한 구조체 멤버 변수 출력을 할 수 있을 것입니다. 아래는 구조체 포인터를 가지고 출력하는 방법입니다. 위와 같이 여러 변수와 배열.. 2023. 2. 26. [C언어] 13강 파일 입출력 이진 모드는 0, 1로 구성된 파일 텍스트 모드는 문자로 구성된 파일 명령행 인자 int main(int argc, char *argv[]){...} 에서 argc, argv가 여기에 해당함 //argc는 두번째 인자인 argv의 크기를 의미 //argv[0]은 실행하는 프로그램의 패스를 의미하고 //argv[1], argv[2]... 순으로 첫째 인자, 둘째 인자 등을 나타낸다 int getc(FILE* stream); //getchar와 다른 점은 fp로 식별된 파일에서 문자를 추출 int putc(int character, FILE* stream); int putc(int character, FILE* stream); //putchar와 유사한 기능 가짐 //그러나 파일을 읽다가 끝에 도달하면 EO.. 2023. 2. 22. [C언어]12강 기억 클래스, 연결, 메모리 관리 저장 클래스는 객체 지향 프로그래밍에서 객체를 생성할 때 그 객체가 어떤 메모리 영역에서 살아남을지를 결정하는 방식 스코프는 하나의 변환 단위(파일) 내에서 변수나 함수의 유효 범위를 나타내는 개념 연결은 다른 스코프에 속하는 변수들을 서로 연결하는 것을 의미한다 ㄱ. 무연결 : 지역 변수가 가지는 특징이다 함수 영역인 block scope 내에 선언되어 있음 ㄴ. 내부 연결 : 하나의 파일에서만 사용 가능함 ㄷ. 외부 연결 : 여러 파일에서 사용 가능함 자동 변수 블록 내에서 선언된 변수를 의미하며 블록의 실행이 끝나면 메모리에서 사라짐 레지스터 변수 CPU 레지스터에 저장되어 신속하게 접근 가능함 레지스터에 저장할 수 있는 조건이 매우 제한적이기 때문에 자동 변수로 보내는 경우 있음 정적 변수 프로그.. 2023. 2. 17. [C언어] 11강 문자열과 문자 I/O 함수 문자열이란 보통 char var[size] = “abcde fgh”;이러한 방법으로 선언된다.char* gets(char* buffer);// 에러가 발생하면 NULL을 반환한다gets() 함수는 인자와 반환형 모두 char* 자료형이다.char* fgets(char* str, int num, FILE* stream);//1번 인자는 문자열을 저장할 char 배열을 가리키는 포인터//2번 인자는 읽어들일 최대 문자 수//3번 인자는 문자열을 읽어들일 스트림의 file 객체를 가리키는 포인터//리턴값은 str이다//결과를 "\n"이 나올 때까지 string에 저장하고, 스트링 끝에 "\0"을 추가한다//읽은 문자 수가 n - 1일때까지 문자를 읽는다char* gets_s(char* str);//1번 인자는.. 2023. 2. 17. [C언어]10강 포인터와 배열 10강 포인터와 배열 배열이란 같은 타입의 변수들로 이루어진 유한 집합이며 인덱스는 0부터 시작한다 array[n] 는 *(array + n) 와 완전히 동일한 표현이다. 포인터란 메모리의 주소값을 저장하는 변수이다 보통 포인터의 크기는 32비트 컴파일러에서는 4바이트, 64비트 컴파일러에서는 8바이트가 나온다.예시>메모리에서 일정 범위를 이동하며 위의 short 자료형은 2바이트로 구성되어 있으며 2바이트마다 pointer 역시 이동하면서 추가된다 주소값 => 해당 데이터가 저장된 메모리의 주소 의미32비트: 16진수 8자리0x00000000 ~ 0xFFFFFFFF예) 0x008AF7FC 64비트: 16진수 16자리0x0000000000000000 ~ 0xFFFFFFFFFFFFFFFF예) 0x000.. 2023. 2. 10. [C언어] 9강 함수 함수 사용 이유: 반복작업에 들어가는 메모리와 시간을 절약하게 해줌 함수의 기본 구조 void func(void) { statement; } 여기서 앞부분의 void는 리턴할 값이 없음을, 괄호 안의 void는 인자가 없음을 의미함 재귀 자기 자신을 불러오는 것 주로 반복적인 실행에 사용이 됨 재귀의 동일한 레벨에는 동일한 주소가 할당됨 재귀의 장점 구조가 단순하다 재귀의 단점 컴퓨터 메모리를 급격하게 소모한다 헤더파일을 새로 만들어서 여러 소스 파일에서 사용하는 함수를 보관하는 것도 좋은 방법이다 포인터는 주소를 저장하는 변수이다 이런 식으로 변수의 속한 위치, 변수 그리고 값, 메모리 위치를 나타낸다 2023. 2. 10. [C언어] 7, 8장: if-switch문, 문자 입출력 7장 분기와 점프 if문: if (expression) statement=> expression이 true이면 statement가 실행됨 if문 구조if (experiment1){statement1}else if (experiment2){statement2}else{statement3} switch문 구조 switch(choice){case ‘a‘: statement1;break; case ‘b’: statement2;break; //…… default: statement0; //choice가 어디에도 포함되지 않을 때} default와 case는 switch문에서만 사용된다 C는 세 가지 논리 연산자를 가짐 조건 연산자: ?식1 ? 식2 : 식3식1이 참(1)이면 조건문은 식2와 같은 값을 가지고 거짓.. 2023. 2. 4. [C언어] 1~6강 내용 정리 1장: 동계 방학 C언어 스터디 내용 티스토리에 공유 예정참고도서 C Prime Plus 6th editionhttps://www.amazon.com/Primer-Plus-6th-Developers-Library/dp/0321928423 Amazon.comEnter the characters you see below Sorry, we just need to make sure you're not a robot. For best results, please make sure your browser is accepting cookies.www.amazon.com컴구조 운영체제를 공부하기 전에 C언어를 꼭 공부해 놓아야 할 필요성이 생겨서 스터디 내용을 정리할까 한다 본인 과는 C언어를 배우지 않아서 별도로 .. 2023. 1. 13. [자바] 3강 자바의 연산자 03-1. 기본 연산자항이란 무엇인가? 연산에 사용되는 값이다. 연산자는 무엇인가? 항을 이용하여 연산하는 기호를 의미한다. 관계 연산자특히 배열을 비교할 때 ==을 사용한다면 ==은 배열의 주소값이 같은지 아닌지를 보는 것이지 내용이 같은지를 판단하는 것이 아니다. 03-2. 비트 연산자비트 연산자와 논리 연산자는 분명한 차이가 있다. 비트 연산자는 비트 단위로 논리 연산을 할 때 사용한다. 예를 들어서 11 & 9 == 9 이러한 식은 비트 연산자가 사용되었다고 할 수 있다. 2진수로 바꿔서 and 연산을 해보면,0b1011 & 0b1001 == 0b1001 이 되기 때문이다. 논리연산자는 true와 false를 가지고 계산한다. 연산방향은 특히 논리 연산자에서 자주 사용된다. 만약 ||의 좌측.. 2022. 12. 29. [자바] 2강 변수와 자료형 02-2 변수란 무엇인가? 프로그램에서 사용되는 자료를 저장하기 위한 공간을 의미한다. 결국 변수는 저장공간의 효율적 사용을 위해 구성되어야 한다. 컴퓨터의 저장 공간은 하드디스크와 메모리가 있다. 하드디스크는 용량은 크지만 시간이 오래걸린다. 결국 메모리에서 자료를 저장하고 있다가 CPU로 전달하는 것이 중요하다. 과거에 비해 컴퓨터가 전달하는 자료는 비교할 수 없을만큼 많아졌는데 예전의 방법이 더 이상 안먹히는 것이다. 결국 변수와 자료형을 배우는 이유는 제한된 메모리에서 최대한 효율적으로 분산 후 빠르게 계산장치인 CPU로 전달하는 것이다. package Chapter2; public class VariableEx { public static void main(String[] args) { int .. 2022. 12. 27. 이전 1 ··· 62 63 64 65 66 다음