C언어 :: C언어 문법 정리(4)
문자열함수 (#include )
①strcpy(s1,s2) : s1에 s2를 복사 //중요!!!
②strcmp(s1,s2) : s1과 s2를 비교 (s1> s2:1/ s1<s2:-1/ s1==s2:0) //중요!!!
③strlen(s) : s문자열의 길이 //중요!!
④strrev(s) : s문자열을 꺼꾸로출력
⑤strcat(s1,s2) : 문자열 s2를 s1에 연결
⑥strupr(s) : 소문자를 대문자로(문자열)
⑦strlwr(s) : 대문자를 소문자로
⑧tolower(c) : 대문자를 소문자로(문자)
⑨toupper(c) : 소문자를 대문자로
⑪strchr(s,c) : s에서 최초의 c이후 문자를 구함
⑫strset(s,c) : s를 c로 지정한 문자로 바꾼다
배열(Array)
같은형의 자료형으로 구성된 데이타들의 모임
1) 1차배열
자료형 배열명[첨자]={숫자1, 숫자2,....};
자료형 배열명[첨자]={'문자1','문자2'...};
자료형 배열명[첨자]="문자열";
int a[]={10,20,30};
int a[5];
int a[];<--- X
참고)메모리동적할당(Heap메모리)
#include
① 메모리할당
변수 = (자료형 *)malloc(byte수);
변수 = new 자료형[byte수];
② 메모리반환
free(변수);
delete []변수명;
2) 2차배열
자료형 배열명[첨자][첨자]={{....},{....}...};
num[3][4]={{10,40,70,100},{20,50,80,110},{30,60,90,120}};
int num[3][4]={10,40,70,100,20,50,80,110,30,60,90,120};
포인터(pointer)
메모리상 임의의 위치값
포인터 변수란 임의의 위치값(address)을 기억시킬 변수(4byte)
자료형 *포인터변수명; <--단일pointer
자료형 **포인터변수명; <--이중pointer
(포인터변수의 주소값기억)
(& : 시작주소값)
배열과 포인터
값 |배 열| a[0] a[1] a[2]
|--------------------------
|포인터| *a *(a+1) *(a+2)
| | *&a[0] *&a[1] *&a[2]
------------------------------
주소 | 배 열 | &a[0] &a[1] &a[2]
|--------------------------
| 포인터 | a a+1 a+2
ex) a[5] ==> a[0] a[1] a[2] a[3] a[4]
------------------------------
k o r e a
------------------------------
100번지 101번지 102번지 103번지 104번지
배열 포인터 의미
----------------------
&a[2] a+2 102번지
a[3] *(a+3) e
a[2][3] *(*(a+2)+3)
&a[2][3] *(a+2)+3
함수(Function)
program을 단일화 시킬목적으로 사용
① 동일한 작업을 반복수행
② 변경, 삭제가 쉽다
③ 알아보기 쉽고, 코딩이 쉽다
1) 종류
① 내장함수 : 이미 내장된 함수 - #include를 시킴
printf() - #include
getch() - #include
② 사용자정의함수 : user가 만든함수 - 선언해야함
2) 호출방식
① Call by name : 인자값없고 이름만
② Call by value : 값전달
③ Call by pointer(address) : 주소전달
④ Call by reference : 별명(Alias) ===> C++에 확장된 개념
<형식> 결과형 함수명(인자,인자....);
void, int,float,char,char*....
함수명();
함수명(인자,인자...);
변수 = 함수명();
변수 = 함수명(인자,인자...);
return; //제어값만 돌려줌(생략가능)
return 변수;
return 수식;
(주의) return값은 오로지 1개
return 10; -- O
return 10,20; ---X
O.S영역(시스템영역)
------------
응용P/G영역(코드영역)
------------
초기화데이터 <---- extern, static (전역변수)
영역(static)
------------
근거리힙
(Near Heap)
------------
스택 <---- auto
(stack) (가장 안정적) (지역변수,매개변수/블럭종료시메모리반환)
------------
원거리힙 <---- new/delete
(Far Heap) malloc()/free()
프로그래머에의해 메모리회수
'Language > C언어' 카테고리의 다른 글
C언어 :: C언어 문법 정리(3) (0) | 2023.03.24 |
---|---|
C언어 :: C언어 문법 정리(2) (0) | 2023.03.23 |
C언어 :: C언어 문법 정리(1) (0) | 2023.03.22 |
C언어 :: C언어 용어 정리(7) (0) | 2023.03.21 |
C언어 :: C언어 용어 정리(6) (0) | 2023.01.16 |
댓글