Development/C, C++(556)
-
Ex10-포인터 변수의 간접 접근을 통해 저장된 데이터를 변경하기
포인터 변수의 간접 접근을 통해 저장된 데이터를 변경하기 메모리 구조 int num=10; // 1차원 포인터 변수 선언 int* ip1=NULL; // 2차원 포인터 변수 선언 int** ip2=NULL; // 3차원 포인터 변수 선언 int*** ip3=NULL; ip1=# ip2=&ip1; ip3=&ip2;*ip1=20;**ip2=30;***ip3=40; 소스코드 #include int main( ) { int num=10; int* ip1=NULL; // 1차원 포인터 변수 선언 int** ip2=NULL; // 2차원 포인터 변수 선언 int*** ip3=NULL; // 3차원 포인터 변수 선언 ip1=# ip2=&ip1; ip3=&ip2; printf("%d %d %d %d \n..
-
Ex09-3차원 포인터
3차원 포인터 메모리 구조 소스코드 #include int main( ) { int num=10; int* ip1=NULL; // 1차원 포인터 변수 선언 int** ip2=NULL; // 2차원 포인터 변수 선언 int*** ip3=NULL; // 3차원 포인터 변수 선언 ip1=# ip2=&ip1; ip3=&ip2; printf("%d %d %d %d \n", num, *ip1, **ip2, ***ip3); // 모두 10 출력 printf("%x %x %x %x \n", &num, ip1, *ip2, **ip3); // 모두 num의 주소(&num) 출력 printf("%x %x %x \n", &ip1, ip2, *ip3); // 모두 ip1의 주소(&ip1) 출력 printf("%x %x ..
-
Ex15-float형 오차 발생
float형 오차 발생 실수형은 기본적으로 double형을 선호 C언어 컴파일러는 기본적으로 실수를 소수점 6자리 출력해 줍니다. 소스코드 #include int main(void) { float num1=0.123456789012345; double num2=0.123456789012345; printf("float형 : %f \n", num1); //0.123457 출력 //0.123456 789012345 printf("double형 : %lf \n", num2); //0.123457 출력 //6째자리까지 반올림해서 표현 //%.15f: float형을 15자리까지 표현 printf("float형 : %.15f \n", num1); //0.123456791043282 출력 //0.123456 7890..
-
Ex08-2차원 포인터 변수 연습
2차원 포인터 변수 연습 메모리 구조 소스코드 #include int main( ) { int num=10; int* ip=NULL; // 1차원 포인터 변수 선언 int** ipp=NULL; // 2차원 포인터 변수 선언 ip=# ipp=&ip; printf("%d %x %x \n", num, ip, ipp); // 각 변수에 저장된 데이터 출력 printf("%x %x %x \n", &num, &ip, &ipp); // 각 변수의 주소 출력 printf("%d %x %x \n", *&num, *&ip, *&ipp); // *&은 서로 상쇄 printf("%d %d %d \n", num, *ip, **ipp); // 10 출력 printf("%x %x %x \n", &num, ip, *ipp);..
-
Ex07-2차원 포인터 변수에 1차원 포인터 변수의 주소 저장하기
1차원 포인터 변수에 일반 변수의 주소를 저장하고, 2차원 포인터 변수에 1차원 포인터 변수의 주소 저장하기 **cpp==*cp==c은 같은 표현이며 2차원 포인터는 *연산자를 2개 붙여서 값에 접근하고 1차원 포인터는 *연산자를 1개 붙여서 값에 접근합니다 메모리 구조 소스코드 #include int main( ) { char c='A'; char* cp=NULL; char** cpp=NULL; cp=&c; cpp=&cp; printf("%c %x %x \n", c, cp, cpp); // 각 변수에 저장된 데이터 출력 printf("%x %x %x \n", &c, &cp, &cpp); // 각 변수의 주소 출력 printf("%c %c %c \n", c, *cp,**cpp); // 문자 A 출력 re..
-
Ex06-포인터 변수를 이용하여 간접 접근한 데이터를 통한 덧셈 연산 하기
포인터 변수를 이용하여 간접 접근한 데이터를 통한 덧셈 연산 하기 메모리 구조 int num=10; int sum=0; int* ip=NULL;ip=#sum=*ip+num; 소스코드 #include int main( ) { int num=10; int sum=0; int* ip=NULL; // 포인터 변수 선언 ip=# // 주소 저장 sum=*ip+num; printf("%d %d %d\n", *ip, num, sum); return 0; } 출력결과