" " -> const char *
스택 영역 = 코드 or 스택 영역
code R
data R/W
bss R/W
heap R/W
stack R/W
char a[] = "하이\n";
char *b = "하이~\n";
*a='1';
*b='1'; <---- 세그먼테이션 오류
(코드영역을 수정하려고 했기때문에)
printf(const char *)
" " 써도 되고, 문자열의 주소를 넘겨도 된다.
File *fp=fopen("a.txt","r")
OS상에서 a.txt의 메모리 공간을 만들어서
메모리 주소를 File *로 알려준다.
fclose(fp)
OS상에서 어느 파일을 닫아야 할지 모르기 때문에
파일의 메모리 주소를 인자로 받아서 해당 주소의 파일을 닫는다.
printf() -> stdout 표준 출력
0 : stdin --> 키보드
1 : stdout --> 화면
2 : stderr --> 화면
리다이렉션
명령어 > 파일명
ex) ls -al > a.test
명령어 실행 결과를 파일로 출력한다.
명령어 >> 파일명
ex) ls -al >> a.test
명령어 실행 결과를 파일에 추가를 한다.
gcc > g.test
결과) 파일에 기록되지 않는다.
이유) > 기본값은 1> 와 같은데( gcc 1> g.test ),
gcc 에러는 stderr로 출력하기 때문에 기록되지 않는다.
fix) gcc 2> g.test
'소프트웨어 > C언어' 카테고리의 다른 글
더블 포인터 (0) | 2011.07.28 |
---|---|
Heap, Stack 구조 (0) | 2011.07.18 |
volatile (0) | 2011.06.30 |
구조체_컴파일러최적화 (0) | 2011.06.21 |
Return (0) | 2011.06.21 |