목록문자열 (4)
생선이의 잡다한 블로그
안녕하세요 생선스프입니다! 이번 강좌에서는 string.h 파일에 포함된 함수인 strcpy 함수를 사용하여 문자열을 복사해 보려고 합니다. 그냥 대입연산자로 하면 된다고 생각할 수도 있습니다.아래와 같이 말이죠 123456void main(){ char s1[10]; s1 = "가나다라";}cs 하지만 이렇게 하면 오류가 발생합니다 왜냐하면 s1에는 문자열의 시작주소가 저장되어있기 때문이죠 그래서 strcpy 함수를 이용합니다 아래와 같이 strcpy(문자열의시작주소값, 입력할문자열) 이렇게 사용하면 됩니다 1234567891011#include #include void main(){ char s1[20]; strcpy(s1, "안녕, 세상아!"); printf("%s", s1);}cs 그런데 strc..
안녕하세요 생선스프입니다! 이번 강좌에서는 문자열의 길이를 알아보려고 합니다. 길이를 알아보기 위해 string.h 에 포함되어있는 strlen 함수를 사용할 것 입니다. 사용방법은 strlen(문자열) 이며 문자열의 길이를 반환합니다. 아래와 같이 코드를 입력해보겠습니다. 123456789#include #include void main(){ char s1[100] = "0123456789"; printf("%d", strlen(s1));}cs 이렇게 실행을 시키면 10이라는 숫자가 출력됩니다 100이 나와야 하는거 아닌가? 라는 의문이 들수도 있지만100이 나오려면 변수의 크기를 출력해야합니다하지만 strlen은 길이가 출력되는 것이므로 10이 나오겠죠!100을 나오게 하려면 sizeof 함수를 사용..
안녕하세요 생선스프입니다! 이번에는 문자열을 비교하는 법을 알아보려고 합니다 그냥 (문자열1 == 문자열2) 이렇게 비교하면 될거라고 생각하실 수 있습니다 한번 직접 해보죠 아래와 같이 코드를 입력해 보겠습니다.12345678#include void main(){ char s1[] = "HELLO"; char s2[] = "HELLO"; s1 == s2 ? puts("두 값이 일치합니다") : puts("두 값이 일치하지 않습니다");} cs 실행을 시켜보면 "두 값이 일치하지 않습니다" 가 나오게 됩니다 그 이유는 s1 과 s2 에는 이 문자열이 저장되있는 주소가 저장되어 있기 때문입니다.즉 s1 과 s2 는 서로 다른 변수이기 때문에 다른 주소값을 가지고 있어 일치하지 않게 됩니다. 그래서 strin..
안녕하세요 생선스프입니다~! 이번에는 배열과 문자열을 다뤄보도록 하겠습니다 C 언어 강좌 4 - 변수로 값을 저장하자! 우선 배열이 무엇일까요? 만약 변수가 100개가 필요하다고 하겠습니다그러면 int num1, num2, num3 ... num100; 이럴수는 없습니다!그래서 사용하는게 배열입니다 우선 배열은 아래와 같이 적어줍니다int num[100];이렇게 변수명 뒤에 만들어주고싶은만큼 갯수를 적어주시면 됩니다 그러면 값은 어떻게 넣어줄까요?num[0] = 0;num[1] = 1;이렇게 변수명 뒤에 숫자를 적어주고 그 뒤부터는 같습니다 아니면 또 다른 방법이 있습니다배열을 만들때가 아닌 만들고 나서라면 어쩔수 없지만위와 같이 적어주면 여러줄을 써야하고 귀찮습니다 그래서 아래와 같이 적어줄 수 있습니..