[[TableOfContents]]

= 참여자 명단 =

|| 의사 || 장용운 || 11학번 || ~~취침~~출석 ||
||<|3> 환자 || 천준현 ||<|3> 15학번 || 출석 ||
|| 최지혁 || 출석 ||
|| 박인서 || ~~의사처럼 자다왔는데 어쩌다보니~~ 출석 ||

= 수업 =
== ì§„í–‰ ==
1. 장소 : 6층 학회실
2. 시간 : ~~15시~~ 16시 ~ 17시 ~~2시간 같은 1시간으로 달린다.~~

== ë‚´ìš© ==
'''12강. 문자열'''
 * 문자열이란?
 * 문자열의 선언
 * 문자열 함수
= 코드 =
== 예제1 ==

= 숙제 =
1. 이 페이지에 후기 작성하기!
2. 오늘 공부한 개념 수업 페이지에 정리하기!
3. 다음 프로그래밍 용어들의 뜻 조사하기. 다음 시간에 물어봄.

= 후기 =
 * '''후기 작성 요령''' : 후기는 F4(ThreeFs + Future Action Plan)에 맞게 작성해주세요.
   * Facts, Feelings, Findings, Future Action Plan. 즉, 사실, 느낀 점, 깨달은 점, 앞으로의 계획.

 *
 *
 * ~~이 정도면 쉬어가는 타임인가~~ 2시간 같은 1시간 이었지만 전 시간에 비하면 쉬어가는 타임이네요..
----


= 숙제 제출 = 
== 천준현 ==

== 최지혁 ==

== 박인서 ==
 * 문자열 : 문자 배열->문자를 여러개 저장
  * 선언 : char * str;(기존의 포인터 배열처럼 *(str+i)로 지정 가능) 혹은 char str[원하는 문자열의 문자 갯수];
  * 문자열의 끝을 NULL='\0'(아스키코드값 0)로 지정->원하는 문자열 길이+1
  * %s로 출력, 쌍따옴표("")는 마지막에 알아서 NULL문자를 넣어줌.
 * 문자열 함수
  * strlen : 문자열의 길이을 return
{{{
int strlen(char * s)
{
	int res=0;
	for(;*s!='\0';s++) res++;
	return res;
}
}}}
  * strcmp : 문자열 2개를 비교하여 같으면 1을 return, 다르면 0을 return
{{{
int strcmp(char * s, char * d)
{
	for(;*s!='\0';s++,d++) if(*s!=*d) return 0;
	if(*d=='\0') return 1;
	return 0;
}
}}}
  * strtoupper : 소문자를 대문자로 모두 변경(직접 대입한 문자(열)를 바꾸기 못함)
{{{
int strtoupper(char * str)
{
	for(;*str!='\0';str++) if(*str>='a' && *str<='z') *str+=(int)('A'-'a');
}
}}}
  * strtolower : 대문자를 소문자로 모두 변경(직접 대입한 문자(열)를 바꾸기 못함)
{{{
int strtolower(char * str)
{
	for(;*str!='\0';str++) if(*str>='A' && *str<='Z') *str+=(int)('a'-'A');
}
}}}
  * strcpy : 한 문자열의 내용을 다른 문자열에 복사(문자열의 길이가 복사하고자 하는 문자열 변수의 범위를 초과하면 안됨)
{{{
int strcpy(char * d, char * s)
{
	for(;*s!='\0';s++,d++) *d=*s;
	*d='\0';
}
}}}
  * strdup : 문자열 하나를 생성 후 그 곳에 다른 문자열을 복사
{{{
char * strdup(char * s)
{
	int len=strlen(s),i;
	char * res = (char *) malloc(sizeof(char)*(len+1));
	for(i=0;i<=len;i++) res[i]=s[i];
	return res;
}
}}}
  * strcat : 한 문자열의 내용을 다른 문자열에 이어붙이기(붙여야 될 문자열 변수가 수정할 수 있는 문자열이여야 함, 붙여야 될 문자열 변수가)
{{{
void strcat(char * d, char * s)
{
	for(;*d='\0';d++) ;
	for(;*s!='\0';s++,d++) *d=*s;
	*d='\0';
}
}}}
  * strstr : 한 문자열 내에 다른 문자열의 내용이 존재하는지 확인, 인덱스 위치를 return 못찾으면 -1을 return
{{{
int strstr(char * s,char * p)
{
	int slen,plen,i,j;
	slen=strlen(s);
	plen=strlen(p);
	for(i=0;i<(slen-plen);i++)
	{
		if(s[i]==p[i])
		{
			for(j=i;j<=i+plen;j++) if(s[i+j]!=p[j]) break;
			if(j==plen) return i;
		}
	}
	return -1;
}
}}}
  * trim : ~~꺼억~~
{{{
추가바람
}}}
----
-----------------------------------
[새싹교실/2015]
[새싹교실/2015/의사양반]