Ribbon

Visual Studio가 2015부터는 보안이 강화되었어요.

scanf("%s", sentence) --> X

scanf_s("%s", sentence, sizeof(sentence)) -->O

 

버퍼를 지울 때도

fflush(stdin); --> visual studio2015 이전 버전

 while (getchar() != '\n'); -->visual studio 2015 부터

 

gets할 때도
gets(sentence); --> visual studio2015 이전 버전

gets_s(sentence, sizeof(sentence)); -->visual studio 2015 부터

0


#Interger.parseInt와 Integer.valueOf

두 함수 모두 문자열을 숫자로 바꿔준다.

차이점을 반환값의 타입이 다르다는 것이다.

 

parseInt는 int값을 반환하고

valueOf는 Integer값을 반환한다.

결과값은 동일하게 나올 것이다.




#자바의 클래스는 크게 두가지로 나눌 수 있다.

 

 -Primitive type : 메모리에 직접 데이터를 담는 타입

 -Reference type : 다른 곳을 참조하는 주소값을 담는 타입

 




#래퍼 클래스는 뭘까?


기본자료형 Primitive Type 에는  int, long, short, byte, float, double, char, boolean 이 있다.

이 기본자료형을 매개변후로 품기 때문에 래퍼클래스!!


Integer i = new Integer(10);

Wrapper Type -> Integer, Long, Short, Byte, Float, Double, Character, Boolean

클래스 형태이기때문에 다양한 메소드를 가지고 있어서 편리하다.



#오토박싱, 언오토방식이란?

래퍼클래스가 편리한데 기본자료형과 호환성이 안돼서 불편해서 나온 기능이다.


Integer i1 = 10하면 

내부적으로 Integer i1 = new Integer(10);으로 인식한다.-> 오토 박싱


int i2 = i1; 하면

내부적으로 int i2= 10 으로 변환된다. -> 오토 언박싱




 



 

0

 함수의 매개변수에 구조체를 보낼 때는

포인터가 아닌 값이 들어간다.

 

#include<stdio.h>
struct m {
 int x;
};

void swap(struct m mm) {
 mm.x = 5;

}
int main() {
 struct m matrix;
 matrix.x = 3;
 printf("바꾸기 전: %d\n", matrix.x);
 printf("바꾸기 후 : %d\n", matrix.x);

3

3

 

0