본문 바로가기

array

(8)
C 정리2 Function- 큰 작업을 작은 작업들로 나눈다.- 코드의 재사용성을 높인다. 함수의 정의- 필요로 하는 함수를 정의해서 사용할 수 있다.- main함수 또한 정의하여 사용하는 함수다. 프로그램이 실행되면 운영체제에서 가장 먼저 호출하는 함수가 main() 이다.함수의 prototype을 선언해놓으면 함수의 내용을 나중에 정의할 수 있다.또한 함수의 prototype에서는 인자의 이름을 생략할 수 있다. 헤더파일-stdio.h : standard input / output ( 입출력과 관련된 함수들 )-string.h : 문자열과 관련된 함수들-math.h : 수학과 관련된 함수들-stdlib.h : 메모리 관리 , 랜덤 등 다양한 함수를 제공이 외에도 다양한 표준 라이브러리 헤더파일이 존재한다. st..
제어 대상 찾기 ( getElementById ) 이번에 배우는 getElementsById는 사용되는 빈도가 많다. id값을 기준으로 객체를 조회하며 , 성능면에서 가장 우수하다! 특징은 이전에 배웠던 getelementsByTagname 과 getElementsByClassName과는 다르게 element가 단수형이다. 즉 얘가 조회한 결과는 하나의 결과만 갖는다는 특징이 있다. 또한 html의 속성중 id값을 기준으로 조회한다. (문서에서 id는 하나의 엘리먼트만 식별하는 특별한 식별자다!) 다음 예시를 보자. 10행에서 li태그 중 id값을 가진 엘리먼트는 하나 뿐이다. 이때 getElementById를 이용한다. 14행을 보자 , li = document.getElementById('active');이 문서에서 Id값이 'active'인 엘리먼..
제어 대상 찾기 ( getElementsByClassName ) 두번째로 소개할 태그(엘리먼츠) 조회방법은 ClassName이다. 말 그대로 클래스의 이름을 기준으로 조회한다. 여기 문서를 보면 li태그중 2개의 태그만 클래스의 값이 'active'다. HTML에서는 클래스라고 하는것이 자바스크립트에서는 클래스 네임이라는 표현을 쓴다. 14행에서 인자로 전달된 값('active')에 해당되는 클래스 네임을 갖고있는 엘리먼트들을 조회해서 그것을 유사배열에 담는 메소드다. 그렇게 해서 담긴 lis를 for문으로 처리하면 앞서봤던 getElementsByTagName에서 본것과 같이 동일하게 처리된다.
다차원 배열 이번 시간에는 다차원 배열에 대해 정리하도록 하겠다. 다차원 배열이라 함은 2차원 이상의 배열들을 의미한다. 우리가 앞서 공부했던 1차원 배열의 연장선에 놓여있다. 앞서 공부했던 1차원 배열을 논리적으로 1차원의 형태를 띤다. 1차원 배열은 선 구조의 배열이고 2차원 배열은 평면 구조의 배열 , 3차원 배열은 직육면체 구조의 배열이다. 참고로 1,2,3차원 배열의 선언법은 다음과 같다. int onedimarr[5]; //길이가 5인 1차원 int형 배열 int twodimarr[5][5]; //가로,세로의 길이가 각각 5인 2차원 int형 배열 int thrdimarr[5][5][5]; //가로,세로,높이의 길이가 각각 5인 3차원 int형 배열 이들 중 실제로 많이 사용되는 것은 1,2차원 배열이다...
포인터 배열 우리는 여태껏 기본자료형의 변수를 요소로 지니는 배열들만 사용해왔다. 하지만 포인터 변수 또한 변수이니 이를 대상으로도 배열선언이 가능하다. 그게 우리가 지금 공부할 포인터 배열 이고 시작하자! 포인터 배열 : 포인터 변수로 이루어진 , 그래서 주소값의 저장이 가능한 배열포인터 배열의 선언방식ex) int *arr1[5] // 길이가 5인 int형 포인터배열 arr1 double *arr2[30] // 길이가 30인 double형 포인터배열 arr2 이와같이 우리가 평소 포인터를 선언하는 방법과 배열을 선언하는 방법을 짬뽕한 형태다! 선언에 대해서는 정리할것이 많지않으니 바로 예제로 들어가보겠다. 6행에서 int형 변수 3개를 선언과 동시에 초기화7행에서 길이3의 int형 포인터 배열을 선언하고 각 배열..
포인터와 배열의 관계 이번 공부를 통해 알리고자 하는 내용은 배열 또한 포인터 라는 사실이다. 배열의 이름은 포인터다. 단 , 그 값을 바꿀수 없는 '상수 형태의 포인터'다. 다음 예제를 살펴보고 진행하도록 하자. (참고로 %p 는 주소값의 출력에 사용되는 서식문자이다.) 정수형 길이3의 배열을 선언과 동시에 초기화 해주었다. 그리고 배열의 각 요소의 주소값들을 출력하고있다. 결과값을 보자! 결과값을 살펴보면 16진수 형태로 출력됨을 알수있으며 동시에 각 요소들의 차는 4byte임을 알 수 있다! (우리가 선언한 배열은 int형 , int형 자료형은 하나당 4byte의 크기를 갖는다!) 모든 배열의 요소는 메모리 공간에 나란히 할당된다! 라는 점을 몸소 확인하였다. 그리고 배열이름을 출력하는 부분에서 배열의 첫번째 요소 값을..
char형 배열 , 문자열 이번에는 배열의 한 종류인 문자열에 대해 공부하자 우리는 한 문자를 입,출력 하기위해 char라는 자료형을 사용한다. 배열을 선언하는데 자료형은 char형으로 선언하면 어떻게 될까? 배열은 각각의 요소들을 나란히 정렬시키고 그 요소들이 문자들이라면 '문자열'을 만들수 있지 않을까? char형 배열을 이용하면 문자열의 저장뿐만 아니라 문자열의 변경도 가능해진다. 이전에 언급한것과 같이 C언어 에서는 문자열을 " 큰 따옴표를 이용하여 표현한다. 다음의 예시를 보자 char[14] = "Good morning!"; 이러한 char형 배열 선언을 통해 메모리 공간에는 char변수14개가 나란히 할당되고 , 이 배열에는 이러한 형태로 문자열이 저장된다. G o o d m o r n i n g ! \0 우리가 입력..
1차원 배열 배열(Array)란 무엇인지 알아보자! 왠지 이름만 들어도 다수의 데이터를 저장하고 처리하는데 용이할 것 같은 느낌적인 느낌이 든다. 예를 들어보자! 한 아파트에 거주하는 인원을 저장 및 갱신하는 프로그램을 만든다고 가정해보자. 이 아파트는 15개의 층이있고 각 층에는 네 가구가 입주해 있다. 그러면 우리는 각각의 데이터를 대입할 변수가 총 15 x 4 = 60개가 필요하다.... 그렇다... 그러면 이런식으로 짜야할듯 싶다.. int floor01 , floor02 , floor03 , floor04 ....floor60 총 60개를 선언해줘야 한다. 이렇게는 안할랜다... 우리는 귀찮음을 덜기 위해 배열을 이용한다 배열을 선언하기 위해서는 배열이름 , 배열의 길이 , 자료형 이렇게 3가지의 요소만 있..