C++초보 질문 구조체를 지시하는 포인터배열 질문

C++초보 질문 구조체를 지시하는 포인터배열 질문

작성일 2023.12.08댓글 1건
    게시물 수정 , 삭제는 로그인 필요

책에서.보니까

struct aa;
{
int aa1;
}; #구조체 aa 정의

aa s1, s2, s3; #구조체 aa형 변수 3개 생성

const aa * bb[3]={&s1, &s2, &s3}; #구조체를 지시하는 포인터배열 생성

이렇게 포인터 배열을 생성하던데

포인터 배열 생성할때 맨앞에 const를 붙이는 이유가 뭔가요?

상세하게 설명 부탁드릴게요



profile_image 익명 작성일 -

초기값 이후로는 값을 변경하지 못하게 하는 겁니다.

bb[0].aa1 = 50;이 컴파일 에러가 되죠.

aa * const bb[3] = { &s1, &s2, &3 };을 하면

bb[0] = &s3;이 컴파일 에러가 됩니다.

bb[1].aa1 = 50;은 가능합니다.

양쪽 다 변경 불가로 만들려면

const aa * const bb[3] = { &s1, &s2, &s3 };

이렇게 걸어주면 됩니다.

const는 이외에도 기능이 여러가집니다.

조금씩 조금씩 익혀가세요.

멋모르고 파고 들다간 멘탈 나갑니다.

일단은 읽기 전용으로 설정하는 기능이 있다는 점..

C++ 초보 질문

구조체 안에 배열넣을때 struct tr { char bb[10] }; tr aa { "Qpwo" }; 처럼 struct tr { char cc[10]; int bb[10]; }; tr aa { "Qpwoei" 1,2,3,4,5, }; 이런식으로 정수형이랑...

C++ 초보 구조체 배열 질문

구조체 안에 문자배열말고 정수나 실수배열이 들어가면 코드를 어케 전개햐야 하나요? struct aa { int aaa[10]; double aab[10]; char[10]; }; using nemaspace...

1차원 char배열포인터 질문이요(c++)

... 따로있었지만 C++에서는 그나마 생략이 가능해질정도로 구조체와 클레스는... 포인터포인터배열을 대입하는것은 결국 말도 안되는;; 소리;;; 컴파일러가...

포인터 메모리 배열 구조체질문

배열이랑 구조체 변수 선언할떄 왜 포인터를 사용해서 굳이 메모리를 수동으로... 아님 c++이나 자바에서도 동적으로 메모리 할당하나요??? c언어 정말어렵네요.ㅜㅜ 참고로...