구조체끼리 연결 왜 안될까요?
도담
2024.04.21
질문 제목 :
구조체끼리의 연결이 왜 안될까요
질문 내용 :
typedef struct
{
int x, y;
}item;
typedef struct
{
int len;
item* p;
}snake;
이렇게 선언해놓고
main함수에 snake snake[100]; , item item; 이렇게 한 후에
(snake[0].p)-x = 3;
printf(%d, (snake[0].p)-x);
이런식으로 테스트해보니까 컴파일 에러는 안나는데
실행해보니까 바로 작동이 중지되었습니다 뜨면서 꺼지네요
왜 안되는걸까요? 어떻게 수정해야할까요?
-
창의적 2024-04-21
snake[0].p 에서 ITEM* 인 p 가 가리키는 곳이 없습니다. 포인터 변수는 선언만 해놓고 무조건 사용할 수
있는게 아니라, 할당된 어떤 메모리를 가리키고 있어야 하는데, 위 코드는 그 부분이 없죠~
snake[0].p = &item; // p가 ITEM 변수를 가리키게 하고...
이제 p는 item 변수를 가리키게 되었으니...다음의 코드가 성립~
(snake[0].p)-X = 3;
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2690576 | bin파일 저장 | 다올 | 2025-04-06 |
2690547 | C언어 뒷부분이라 너무 어려워서요;; 프로그래밍 하나만 부탁드립니다 (4) | 그루터기 | 2025-04-05 |
2690517 | cygwin에서요.. (1) | 엘보어 | 2025-04-05 |
2690486 | 문자열과 문자형이요 ~ | 다스리 | 2025-04-05 |
2690344 | 일본어 주석 깨짐 문제 (3) | 연하얀 | 2025-04-04 |
2690314 | 암호문 만들기 -비제네르- | 이퓨리한나 | 2025-04-03 |
2690292 | 왕초보자의 질문!!!!!! 도와주세요 (1) | 하랑 | 2025-04-03 |
2690269 | 정올 문제 인데.. 흠 | 반월 | 2025-04-03 |
2690237 | sizeof에서 short형을 썻는데 왜 4byte가 나올까요? (1) | 바나나 | 2025-04-03 |
2690183 | 문자열과 포인트 비교 (2) | 미즈 | 2025-04-02 |
2690154 | a -48 ? | 희미한눈물 | 2025-04-02 |
2690094 | 테트리스 질문요. | 지후 | 2025-04-01 |
2690066 | 문자열비교!! (1) | 매디 | 2025-04-01 |
2689888 | 좀도와주세요;; ㅠㅠ | 사람 | 2025-03-30 |
2689856 | 메뉴 그리는 거 질문 | 나라빛 | 2025-03-30 |
2689831 | c언어 프로그램 추천 | 하연 | 2025-03-30 |
2689801 | c언어 time.h에서 작동이 중지되었습니다. | 하람 | 2025-03-30 |
2689772 | 2차원 배열의 배열명에 대해서.. | 옆집꼬마야 | 2025-03-29 |
2689740 | 게임 TCP소켓 질문 (2) | 불꾼 | 2025-03-29 |
2689711 | 반복문 모래시계 | 한뎃집 | 2025-03-29 |