Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- ChatGPT
- 웹해킹
- 러닝스칼라
- Python
- 러닝 스칼라
- c
- backend
- BOF
- php
- Web
- Shellcode
- 리눅스
- 파이썬
- 인공지능
- hacking
- hackerschool
- webhacking
- flask
- 챗GPT
- Javascript
- deep learning
- Linux
- 백엔드
- mysql
- 경제
- c++
- hackthissite
- Scala
- 딥러닝
- BOF 원정대
Archives
- Today
- Total
jam 블로그
[C] 11. 1차원 배열 본문
728x90
I. 1차원 배열의 선언 및 초기화
1) 1차원 배열의 선언과 접근
배열 선언에 필요한 것 세가지
int array[10];
- 배열 길이 10 인 array라는 이름의 int형 배열 이라는 뜻
- 배열길이, 배열이름, 배열 형태
- 참고로 위에 배열은 메모리에 할당되는 크기는 int형(4바이트)*배열크기(10) = 40바이트이다.
배열의 길이 선언은 오직 상수
int main() { int size =10; int arr[size]; }
- 위와 같은 소스일 경우 arr의 사이즈가 size 변수로 해놓았기 때문에 컴파일시 오류가 납니다.
배열 요소의 접근을 위한 인덱스의 이해
- 배열의 첫번째 요소의 인덱스는 0이다. 즉, arr[0]이 처음이다.
2) 배열! 선언과 동시에 초기화하기기
int arr1[5] = {1,2,3,4,5}; int arr2[] = {1,2,3,4,5}; int arr3[5] = {1,2};
- 첫번째 줄의 arr1은 배열을 1,2,3,4,5로 초기화 시킨거고(단, 크기가 5라고 정해졌다.)
- 두번째 줄의 arr2는 배열 크기는 없지만 초기화를 해줌으로써 크기가 정해진다.
- 세번째 줄의 arr3는 배열 크기가 5이지만 초기화를 1,2만 해주면 나머지는 0으로 초기화 된다.
II. 배열을 이용한 문자열 변수의 표현
문자열 상수와 문자열 변수
문자열 상수
- 첫째로 이름이 없다.
- 문자열의 내용 변경이 불가능 하다.
문자열 변수
- 문자열을 변수로 선언하는데 있어서 사용 되는 것이 배열
문자열 변수의 특징과 널 문자에 대한 이해
배열을 이용한 문자열 변수의 생성
- 문자열 변수를 생성할 때는 배열의 크기는 하나 크기 잡아야 한다.
이유 : 마지막에 이 문자열이 끝났다는 널문자를 넣어주어야 하기 때문에
- 문자열 변수를 생성할 때는 배열의 크기는 하나 크기 잡아야 한다.
널 문자에 대한 이해
- 만약 크기가 100인 char형 배열이 있는데 문자열을 저장할 때 너가 25자 정도만 되는 문장 또는 글자를 넣는다고 하자. 그리고 나서 출력 하면 어느정도는 잘나오지만 25자를 쓴 글자 뒤로 쓰레기 값이 엄청나게 나올 것이다.
- 그래서 25자를 쓴다음 끝에 \0 을 넣으면 \0(NULL)문자까지만 읽고 끝나 버린다.
'개발 및 관련 자료 > C' 카테고리의 다른 글
[C] 13. 포인터와 배열 (0) | 2013.05.12 |
---|---|
[C] 12. 포인터의 이해 (0) | 2013.05.12 |
[C/C++] visual studio 2010 에서 계속하려면 아무 키나 누르십시오 가 뜨지 않을 경우 (0) | 2011.12.10 |
[소켓프로그래밍] 리눅스 소켓프로그래밍 기초 (0) | 2009.12.15 |
[MFC] MFC 9.0 계층도 (0) | 2009.12.08 |
Comments