Chapter. 12

김동현·2022년 10월 24일
0

혼자 공부하는 C언어

목록 보기
12/15

scanf 함수 반환값 활용

💡 Enter / 개행문자 때문에 10이 출력된거였다… 💡 cat가 어디서 나온거냐고? 사용자가 입력한 값이다. → cat에 대한 아스키 코드값이 99,97,46인 것이다

만약 “apple”가 문자 “a”, “p”를 가진 배열이라면 어떨까?

당연히..배열명을 사용할 것이고 실제로는 배열의 시작위치를 가지고 출력하게 될 것이다. 컴파일 과정에서 문자열은 첫 번째 문자의 주소로 둔갑하고 그 이후는 배열을 출력하는 것과 같은 과정을 거친다.
 

문자열 상수 구현 방법

#include <stdio.h>

int main(void)
{
    printf("apple이 저장된 시작 주소 값 : %p\n", "apple");      // 주소 값 출력
    printf("두 번째 문자의 주소 값 : %p\n", "apple" + 1);       // 주소 값 출력
    printf("첫 번째 문자 : %c\n", *"apple");                  // 간접 참조 연산
    printf("두 번째 문자 : %c\n", *("apple" + 1));            // 포인터 연산식  
    printf("배열로 표현한 세 번째 문자 : %c\n", "apple"[2]);     // 배열 표현식

    return 0;
}
profile
디자인과 개발을 모두 할줄 아는 능력있는 개발자가 되고싶습니다.

0개의 댓글