1. 문자형을 숫자형으로

atoi​,atol,atof는 문자열을 숫자로 바꾸어 주는 함수이다.

사용하기 위해서 stdlib.h 이 헤더를 호출해야 한다.


 
include <stdlib.h>
 


 -. atoi는 ascii to integer --> 문자열을 int형

 -. atol은 ascii to long --> 문자열을 long형

 -. atof는 ascii to float --> 문자열을 double형으로 바꾸어 준다.


​앞에 -가 올 경우도 그대로 출력해 주고 문자나 띄어쓰기를 만나면 그 전까지의 숫자를 모두 바꾸어 준다.

또 시작하자마자 문자를 만날 경우 0을 반환한다.


간단한 예제를 살펴보자!


 
#include 
int main()
{
   char buf1[10], buf2[10];
   int num1, num2;
   
   memset(buf1, 0x00, sizeof(buf1));
   memset(buf2, 0x00, sizeof(buf2));
   
   sprintf(buf1, "20");
   sprintf(buf2, "30");
   num1 = atoi(buf1);
   num2 = atoi(buf2);
   
   printf("num1 + num2 = %d \n", num1+num2);
   
   return 0;
} 
 



2. 숫자형을 문자형으로

 -. itoa : integer 값을 2진, 8진, 10진, 16진 문자열로 변환합니다.

 -. ltoa : long 값을 2진, 8진, 10진, 16진 문자열로 변환합니다.

 -. ultoa : unsigned long 값을 2진, 8진, 10진, 16진 문자열로 변환합니다.

 -. fcvt : 실수(고정 소수점:float) 값을 문자열로 변환합니다.

 -. ecvt : 실수(부동 소수점:double) 값을 문자열로 변환합니다.

 -. gcvt : 실수 값을 부호와 소수점을 포함하여 문자열로 변환합니다.

- Java의 최상위 클래스
- Java의 모든 클래스는 Object로 부터 상속받는다
- extends Object라고 직접 쓰지 않아도 된다
- Object에서는 == , equals() 가 모두 참조값(reference) 만으로 비교한다.
    단, String만이 equals()가 내용을 비교한다


String의 경우 다음과 같을 때,

String a = new String("hello");
String b = a;
String c = new String("hello");

a에는 hello값을 임의의 100이란 공간에 저장   //100은 제가 임의로 정한 번지수...
b에는 a가 저장된 공간 값이 들어간다.
c에는 hello값을 임의의 200란 공간에 저장한다.  //200은 제가 임의로 정한 번지수...

따라서 a.equal(c)는 참이다. a==b는 저장된 번지가 같으므로 참
하지만 a==c는 거짓이 된다.



다음으로 Object가 다음과 같을때,

Object a = new Object ();
Object b = a;
Object c = new Object ();

a에는 100이란 공간이 할당된다   //100은 제가 임의로 정한 번지수... 
b에는 a의 저장된 공간의 값이 들어간다.
c에는 200이란 공간이 할당된다  //200은 제가 임의로 정한 번지수...

따라서 a==b는 저장공간의 값이 같으므로 참, a==c는 저장공간이 다르므로 거짓
a.equals(c)는 String의 경우 안의 값이 비교되지만 object의 경우 ==와 같은 연산이므로 거짓이 된다.

+ Recent posts