TIL

230703 TIL

bunbun2 2023. 7. 3. 12:06

C언어 TIL


내가 만든 헤더 파일 include 는 " "로


#include "functions.h"


 


 

문자열 사용 시 <string.h> 헤더 포함,

*f 처럼 포인터 선언으로도 문자열 선언 가능

    char e[10] = "helloMan";
    char *f = "pointerString";

 

문자열 길이 함수

strlen(str);

 

 

malloc, free 등의 함수 헤더 
<stdlib.h>


명시적 형변환

캐스팅 하려는 변수 앞에 (*)

 

 return (float)(a+b) / 2;

 


포인터

 

1.

    pointerTest1 = (int *) 10;

 

2.

    pointerTest1 = (int *) malloc(1 * sizeof(int));
    *pointerTest1 = 12;
    free(pointerTest1);

 

1은
얼핏 pointerTest1이 가리키는 값에 10이라는 정수를 할당한 것 같지만, 
주소를 10으로 바꾼거임

 

2가
12라는 값을 할당한 건데, 포인터가 가리키는 값을 바꿔야 하기 때문에 malloc이 반드시 필요.

 


scanf


    scanf("%s %d", s1, &a);

 

문자열은 변수 이름 그대로 받을 수 있지만,

그 외의 형은 앞에 & 붙여야함

 


특수문자 출력 시

\를 앞에 입력

 

printf("%s", "\!\@\#\$\%\^\&\*\(\\\'\"\<\>\?\:\;");

출력 !@#$%^&*(\'"<>?:;