전체 글 (71) 썸네일형 리스트형 [C언어]DAY19_구조체와 리스트, 열거형 상수, 구조체와 함수의 인수 구조체와 리스트 : 단일연결리스트 : singly linked list (링크드 리스트) 리스트 : 데이터 구조 (데이터 여러개. 배열도 데이터 구조) 유연한 데이터 관리가 가능 (배열과 비교) 1. 리스트 중간에 새로운 데이터 추가/삭제 2. 리스트의 크기를 동적으로 관리 #include #include #include #define MAX 100 typedef struct s_Student{ int id; char subject[MAX]; struct s_Student* next; //자기 자신을 가리키는 포인터 } Student; //3개의 Student를 가지고 리스트를 만들어 본다. int main(){ //1. 포인터 선언 Student* student1 = 0; Student* student.. [WEB]DAY3_입력 메소드(2), 연산자, 조건식 입력 메소드 (Scanner) next() : 공백 혹은 \n를 구분점으로 삼고 각 값을 분리하여 저장한다. nextLine() : 구분점이 없기 때문에 입력받은 값 통채로를 저장한다. package day03; import java.util.Scanner; public class ScannerTest { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String name = ""; int age = 0; System.out.print("나이 : "); age = Integer.parseInt(sc.next()); System.out.print("이름 : "); sc.nextLine(); name = sc.nex.. [WEB]DAY2_변수, 자료형, 주소, 서식문자, 형변환, 입력메소드(1) 변수 : 변수는 저장공간이다. x = 0 저장공간의 이름 대입연산자 값(상수) 변수선언시 주의사항 1. 변수명은 중복해서 선언할 수 없다. 2. 초기화를 해준다. 3. 되도록 선언부에 한꺼번에 선언한다.(메소드 상단) 변수명 주의사항 1. 숫자는 맨 앞에 작성할 수 없다. (문자로 시작해야한다.) 2. 특수문자를 사용할 수 없다. (단, _는 사용가능하다.) 3. 되도록 소문자로 작성한다. 4. 공백은 사용할 수 없다. good_boy goodBoy : 카멜 표기법 5. 되도록 한글은 사용하지 않는다. 6. 뜻이 있는 단어를 선택한다. a, b, c, d, e, ..(x) data, number, name, age ,...(o) 변수의 선언 초기화 자료형 변수명 = 초기값; 자료형 변수명; 변수 선언시 .. [C언어]DAY18_ 구조체 배열, 구조체 포인터, 구조체 동적할당 구조체 배열 : 구조체는 사용자가 정의한 타입. (char같은 타입을 내가 만들었다는 의미) #include #define SIZE 3 #define MAX 100 //구조체 typedef A B : A를 B로 부른다. typedef struct s_Student { //멤버 int id; char subject[MAX]; } Student; int main(){ int i = 0; //구조체 배열을 선언과 초기화 Student student[SIZE] = { {1111, "art"}, {2222, "math"}, {3333, "biology"} }; printf("%d\n", sizeof(student[i].subject)); //입력 : scanf for( i = 0; i student.id = p_.. [WEB]DAY1_JAVA의 기본, 설치, 기본 구성 요소, 출력 메소드 JAVA * 프로그램 : 소스코드로 잘 짜여진 틀 * 소스코드 : 운영체제와 소통할 문장 * 소스파일 : 소스코드가 모여있는 파일 JAVA프로그램 JVM(자바 가상 운영체제) : 이식성이 좋음, 생산성이 좋다. ( => 다른 운영체로 갔을 때 변환됨.) 안드로이드가 JAVA로 이루어짐. OS(하드웨어에 적절한 전기신호를 흘려주는 역할) 하드웨어 콘솔 : 사용자와 운영체제간의 소통 결과를 나타내주는 창 JVM(JAVA Virtual Machine) JAVA프로그램을 실행시켜 준다. 용량이 무겁다. (용량이 가벼운걸 만들어야한다.) JRE(JAVA Runtime Environment) JVM을 생성하는 부분 JVM에서 실행할 때 필요한 라이브러리 파일들과 기타 파일들을 가지고 있다. JDK(JAVA Deve.. [C언어]DAY17_동적 메모리 할당(문자열이 여러개인 경우), 구조체 선언 동적 메모리 할당 //문자열이 여러개인 경우 메모리의 동적 할당 //문자열을 다룰 때 null을 저장해야하므로 +1을 고려하여 할당해야 함. #include #include #include #define MAX 20 int main(){ //1. 포인터 선언 char* p_char =0; int i = 0; //2. 메모리 할당 char* a = "welcome"; char* b = "to"; char* c= "Neverland"; //포인터배열 a = (char*)malloc(sizeof(char)*MAX); b = (char*)malloc(sizeof(char)*MAX); c = (char*)malloc(sizeof(char)*MAX); //a = "hello"; FATAL ERROR! 심각한 에러!.. [C언어]DAY16_동적 할당, 동적 배열 동적메모리 할당(dynamic memory allocation) 동적메모리 할당이란 ? : 실행 도중(run-time)시 사용할 메모리 공감을 할당 /반대개념: 정적메모리 할당: 컴파일시 사용할 메모리 공간 할당. 변경불가. Heap메모리 Stack메모리 구분. 1. 컴파일시 메모리 공간 할당영역: 1) 데이터영역(전역변수, 리터럴(상수"hello word")저장공간)과 2) 스택영역에 할당되는 메모리 공간 2. run-time시 메모리 공간 할당영역 Heap영역: 실행도중 사용자가 직접 메모리 할당. //malloc() 함수: 안에 선언되어있음. 메모리 할당시 호출하는 함수 반환값으로 주소값을 반환. 주소값: 힙영역에 할당된 메모리 공간의 첫번째 주소 따라서 malloc()의 반환값은 포인터로 받아야 .. [C언어]DAY15_ 포인터 배열, 더블포인터, 문자열 표준 라이브러리 포인터 배열, 더블포인터 : 포인터를 원소로 갖는 배열 //문자열을 위한 문자열 포인터 배열 #include #define SIZE 3 int main(){ int i =0; //여러개의 문자열을 선언하는 방법: 문자열 포인터를 이용하여 //비교 : 2차원배열로도 선언할 수 있다. char* arr[SIZE] = {"Spring","comes", "soon"}; //포인터 배열을 더블포인터에 담는다. char** pp_arr = arr; //arr, pp_arr 둘다 주소이다. 차이는 arr은 상수주소ㅡ pp_arr변수주소. //싱수와 변수의 차이는 ++을 쓸수 있느냐의 차이를 제외하고는 완벽하게 동일하게 사용가능. char p_arr[] = "hello"; //출력 []사용 //arr[i] = *(ar.. 이전 1 2 3 4 5 6 7 8 9 다음 목록 더보기