2
int* arr1 = {}; //ok: arr1 == NULL
int* arr2 = {1,2,3};//error: scalar object requires one element in initializer
같은 오류가 발생하기 위해 arr1
의 초기화를 예상했지만 그렇지 않습니다. 왜 그런가요?이유는 int * arr = {}; 적법한?
편집 됨 :
답에 @krzaq 감사합니다. 나는 네가 한 얘기에 혼란스러워했다.
그래서 다음과 같은 문장은 모든 법적 있습니다 :
int* arr1 = {};
int arr2[] = {1,2,3};
int* arr3 = {arr2};
'INT * arr3 = {arr2}'단지 포인터''의 첫 번째 요소의 ADRESS에 arr3'를 초기화 arr2'. 그것은 그것을 배열로 만들고 있지 않습니다. –
예; 내가 한 일은'arr2'와'arr3'을 같은 주소로 출력합니다. –