구조체 텍스트 배열 값입력
에일린
질문 제목 : 구조체 텍스트 배열 값입력질문 요약 :
구조체에 char name[15]; 를 정의한후에
main 함수에서
name=C언어 를 했을때 오류가나는 이유
왜꼭 strcpy 를써야 하는가?
질문 내용 :
#includestdio.h
#includestdlib.h
#includestring.h
typedef struct score
{
double math;
double english;
double average;
}SCORE;
typedef struct student
{
int no;
char name[20];
SCORE s;
}STUDENT;
int main()
{
STUDENT stu={2012341378,C언어,{90,80,10}};
/*stu.name=최원석 왜 이게 오류가 나는 정확하게 설명좀 부탁 드립니다.
대충 배열 형식이라서 그런것 같은데 오류가 나는 정확한 이유를 모르겠어요 */
strcpy(stu.name,최원석);
printf(%d\n,stu.no);
printf(%s\n,stu.name);
printf(%d\n,stu.s.english);
}
-
지지않는
좀 더 정확히 설명 해 드리자면
배열의 이름은 해당 배열의 가장 첫 요소의 주소를 가리키는 상수 포인터 입니다. 다시 말해 변경 불가능 하다는 거죠. 그런데 쌍 따옴표로 묶인 문자열은 그 자체가 해당 문자열을 가리키는 주소값입니다. 그래서 배열의 이름은 상수 포인터인데 다른 주소를 가리키려고 하니(변경하려고하니) 에러가 생기는 거죠. -
레온
간단하게 말씀드리면 문법적으로 지원이 안되기 때문입니다 배열에 값을 넣을때 대입연산자 = 은 초기화의 경우만 지원됩니다 초기화가 아닌경우에는 배열의 각각의 인덱스에 하나씩 값을 대입해야 합니다
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2698012 | 2~9가아닌수 | 아놀드 | 2025-06-13 |
2697980 | for에 gets함수를 넣으니까 왜 반복이 안되죠 ㅜ (2) | 펴라 | 2025-06-12 |
2697952 | 2차배열과 함수문의^^; | VanilLa | 2025-06-12 |
2697924 | 다차원 배열 질문있습니다 | 두동 | 2025-06-12 |
2697893 | 정올 :: 기초다지기 a9007 배열7 (문제가 이상함 -_-) | 흰두루 | 2025-06-12 |
2697862 | Unable......... 지정된 파일을 찾을 수 없습니다!! (1) | Creator | 2025-06-11 |
2697761 | 그러니까여제말은... (2) | 새론 | 2025-06-10 |
2697737 | 정올 문제좀 풀어보신분~ | 레오 | 2025-06-10 |
2697709 | rand함수 질문좀요! (6) | 가막새 | 2025-06-10 |
2697683 | C언어 변수뒤 표시가 이해안되는게 있습니다. | 소미 | 2025-06-10 |
2697660 | 껍데기딜 만들고 난후 어느핫키 누르면 코드검색이라도 뜨고 그다음 무반응 해결좀 (2) | 움찬 | 2025-06-09 |
2697634 | c언어로 감성사전 만들기! (1) | 도란도란 | 2025-06-09 |
2697605 | 이 함수좀... | agine | 2025-06-09 |
2697574 | 배열 기본적인질문 (3) | 민트향 | 2025-06-09 |
2697549 | 배열 초기화 (4) | 나리 | 2025-06-08 |
2697465 | 수다님...^^ (2) | 가론 | 2025-06-08 |
2697432 | 서버 만드는 함수에서 궁금한게있어요~ | 파랑 | 2025-06-07 |
2697401 | 열혈강의 문제오류 (1) | 꿈 | 2025-06-07 |
2697374 | 기초적인 C언어 프로그래밍 입니다. | 얼 | 2025-06-07 |
2697341 | 좌우대칭 문제인데 Q가 입력되면 종료가 되야하는데 되지않습니다 | 무지개 | 2025-06-07 |