(kosta 교육)프로그래밍 공부 - 9일차
오늘 학원을 가기 위해 집을 나왔는데 기분이 너무 좋았다. 오늘도 진행형!
다시 한 번 확인할 내용
- 컴파일언어, 인터프리터언어
- 인터프리터언어(python, javascript ...)
- 문자열 상수, 문자열 변수
이제 마지막으로 포인터만 배우면 C 언어는 끝이난다.
예전에는 떠나 보내는 것을 매우 잘 했는데 이제는 하나를 떠나 보내면 마음이 쓸쓸하다.
갑자기 혼자 헛소리를 한다.^^
배열의 이해와 사용
- 배열은 배열의 요소끼리 복사를 해야한다.
#include<stdio.h>
int main(void)
{
int arr1[5] = { 1, 2, 3, 4, 5 };
int arr2[5];
arr2 = arr1; // arr2는 배열의 주소값이다. // 에러가 발생한다.
return 0;
}
오류 수정하고 나서 결과
#include<stdio.h>
int main(void)
{
int arr1[5] = { 1, 2, 3, 4, 5 };
int arr2[5];
// 배열값 복사
for (int i = 0; i < sizeof(arr1) / sizeof(int); i++) {
arr2[i] = arr1[i];
}
// 복사된 배열 확인하기
for (int i = 0; i < sizeof(arr1) / sizeof(int); i++) {
printf("%d\n", arr2[i]);
}
return 0;
}
배열의 역순으로 저장하기
#include<stdio.h>
int main(void)
{
int arr1[5] = { 1, 2, 3, 4, 5};
int arr2[5];
int length = sizeof(arr1) / sizeof(int);
for (int i = 0; i < sizeof(arr1) / sizeof(int); i++) {
arr2[i] = arr1[length - i - 1];
}
for (int i = 0; i < sizeof(arr1) / sizeof(int); i++) {
printf("%d\n", arr2[i]);
}
return 0;
}
문자열
- 문자열은 1 byte
- 문자열 마지막에는 null 이 붙는다.
- 문자열의 길이가 얼마가 될지 모르는 경우 배열의 길이를 생략할 수 있다.
char str[12] = "Hello World";
int main(void)
{
char str[] = "Hello World";
printf("** 문자열 변경 전 ** \n");
printf("%s \n\n", str);
str[6] = 'K';
str[7] = 'o';
str[8] = 'r';
str[9] = 'e';
str[10] = 'a';
printf(" ** 문자열 변경 후 ** \n");
printf("%s\n", str);
return 0;
}
배열의 길이는 100이지만, 널 문자'\0'를 만날 때까지만 출력한다.
#include<stdio.h>
int main(void)
{
char str1[100] = "Beautiful";
for (int i = 0; i < 10; i++) {
printf("%c", str1[i]);
}
printf("\n");
printf("str1 = %s\n", str1);
return 0;
}
널 관련 두 번째 문제
#include<stdio.h>
int main(void)
{
char str1[] = "Hello\0World";
printf("str1 = %s\n", str1);
str1[3] = '\0';
printf("str1 = %s\n", str1);
str1[0] = '\0';
printf("str1 = %s\n", str1);
return 0;
}
ch는 아스키코드로 65를 나타낸다.
#include<stdio.h>
int main(void)
{
char ch = 'A';
for (int i = 0; i <= 25; i++) {
printf("%c\n", ch + i);
}
return 0;
}
배열에 바로 입력값을 받을 수 있다.
#include<stdio.h>
void Max(int a, int b);
int main(void)
{
int arr[2];
printf("a를 입력하세요: ");
scanf_s("%d", &arr[0]);
printf("b를 입력하세요: ");
scanf_s("%d", &arr[1]);
Max(arr[0], arr[1]);
return 0;
}
void Max(int a, int b) {
if (a > b) {
printf("큰 수는 %d", a);
}
else if (a < b) {
printf("큰 수는 %d", b);
}
else {
printf("두 수는 같습니다.");
}
}
Author And Source
이 문제에 관하여((kosta 교육)프로그래밍 공부 - 9일차), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@guentc2/kosta-교육프로그래밍-공부-8일차-6prr68q7저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)