Development/C, C++(556)
-
strlen()함수
strlen()함수 문자열의 길이(length)를 알려주는 함수 헤더파일string.h주의 사항문자열의 끝을 알리는 종료문자(\0)는 길이에 포함되지 않습니다. 함수원형 함수의 원형예제설명#include size_t strlen (const char* s);#include char array[10] = "Fun C"; strlen(array);전달된 메모리 주소 array 부터 종료문자를 만날때 까지 저장된 문자열의 길이를 반환 (종료문자는 미포함)
-
Typedef- 자료형 재정의
typedef를 이용한 자료형의 재정의 기본 자료형들에 새로운 이름을 붙이는 용도 자료형을 간결하게 표현 가능 프로그램의 가독성을 높임 너무 남용하면 자료형 분석 시 혼란 초래 typedef 형식 typedef [기본자료형] [사용자정의자료형];typedef int mytype;
-
Ex16-문자형은 캐릭터형을 선호
문자형은 캐릭터형을 선호하며 ASCII 코드를 참조해서 문자를 인식하게 됩니다. char형 변수를 출력 서식에 따라 출력해 보기 소스코드 #include int main(void) { char val1; val1='A'; //문자가 변수에 저장될 때 먼저 ASCII코드 값을 참조해서 저장 //char형 변수를 출력 서식에 따라 출력 //%d :정수형, 10진수 숫자 출력 //%c :문자형, 문자 출력 printf("%d, %c \n", val1, val1); // 65 A 출력 val1='B'; printf("%d, %c \n", val1, val1); // 66 B 출력 val1='C'; printf("%d, %c \n", val1, val1); // 67 C 출력 return 0; } 출력결과
-
Ex13-주소의 가감산을 통한 포인터와 배열의 관계 확인 코드
주소의 가감산을 통한 포인터와 배열의 관계 확인 코드 포인터의 장점 *(array+i) == array[i] == *&array[i] 메모리 구조 int array[3]={10,20,30}; int* ip=NULL; int** ipp=NULL;ip=array; ipp=&ip; 소스코드 #include int main( ) { int array[3]={10,20,30}; int* ip=NULL; int** ipp=NULL; ip=array; ipp=&ip; printf("%d %d %d \n", array[0], array[1], array[2]); printf("%d %d %d \n", *(ip+0), *(ip+1), *(ip+2)); //*(array+0), *(array+1), *(array+2) 동..
-
Ex12-주소의 가감산 (int)
주소의 가감산 int형 변수, int형 1차원 포인터, int형 2차원 포인터의 주소 가산 소스코드 #include int main( ) { int num=10; int* ip=NULL; int** ipp=NULL; ip=# ipp=&ip; printf("%x %x %x \n", &num, &ip, &ipp); printf("%x %x %x \n", &num+1, &ip+1, &ipp+1); //&num+1 : int형(4byte)만큼 1증가 //&ip+1 : 1차원 포인터형(4byte)만큼 1증가 //&ipp+1 : 2차원 포인터형(4byte)만큼 1증가 printf("%d %x %x \n", num, ip, ipp); printf("%d %x %x \n", num+1, ip+1, ipp+1);..
-
Ex11-주소의 가감산 (char)
주소의 가감산 char형 변수, char형 1차원 포인터, char형 2차원 포인터의 주소 가산 모든 자료형은 모두 조소를 가지며 주소의 가감산이 가능합니다. 각각의 주소를 가감산하면 자료형의 크기에 따라 결과가 다르게 나타납니다. char형 주소 +11byte 증가int형 주소 +14byte 증가double형 주소 +18byte 증가 메모리 구조 소스코드 #include int main( ) { char c='A'; char* cp=NULL; char** cpp=NULL; cp=&c; cpp=&cp; printf("%x %x %x \n", &c, &cp, &cpp); printf("%x %x %x \n", &c+1, &cp+1, &cpp+1); //&c+1: char형(1byte)만큼 증가 //&cp+..