C언어

[c] 헤더파일, 문자열입력

twoweeks-within 2024. 11. 7. 17:49

1. vi sum.h
int sum(int a,int b);
// 함수원문
2. vi sum.c
#include "sum.h"
int sum(int a,int b){

return a+b; 

}

// 내가 만든 헤더파일은 " "  표시

3. gcc main.c sum.c 로 각각 컴파일 


@메인함수 매개변수

int main(int argc,char *argv[])

./프로그램명 인자1 인자2  인자3 

    argv[0]   argv[1]  argv[2] argv[3]

4. 헤더파일 여러개 중복방지..

#ifdef TEST_H //test.h 가 없다면
#define TEST_H // 만들고

#else  //아니라면. 즉 test.h가 있다면

    #define EXERCISE //exercise.h를 만들어라

#endif // 종료해라

그러나,,요즘엔 #pragma once 사용

5. ifndef, ifdef
#ifndef // if not define 

#ifdef  // if difine 

6. 만약 중복된다면..

#include "sum.h"
#include "sumsum.h"
sum.h 안의 내용이 sumsum.h에 있다면

>읽다가 건너띄고
#include "sumsum.h" 종료
7. 문자열 입력

scanf :  공백,기호 만나면 끊기며,

gets : 제한 없기에 위험함
fgets(love,sizeof(love),stdin);    //안전한 문자열 입력

첫번째: 문자열을 저장할 배열

두번째 : 배열의 크기, love 보다 하나 작게 가져와 \0 추가 // 끝에 null 을 추가 하기에 안전성 증가

세번쨰 : 표준입력

반환: 배열주소

8. 파일정리

(헤더파일들) mkdir include

mv *.h ./include/  // move > .h 파일들을 include로 
gcc -I ./include -o test main.c sum.c  // -I : 헤더파일 디렉토리 지정
(소스파일들) mkdir src
mv *.c /src/
gcc -I ./include -o ./src/test .c/src/sum.c ./src/sumsum.c
와일드카드 :  *.c 

gcc - I ./include ./src.*c -o program name

 

> 이런게 많아지면 makefile 사용

'C언어' 카테고리의 다른 글

정리 - 2 -  (0) 2024.11.11
각종 정리 -1  (2) 2024.11.08
[c] 채팅프로그램  (0) 2024.11.07
makefile (script language)  (1) 2024.11.07