화살표의 의미
구조체를 포인터로 가져왔을 경우 . 대신 쓰는 것.
#include <stdio.h>
typedef struct {
int s_id;
int age;
} Student;
int main(){
Student goorm;
Student *ptr;
ptr = &goorm;
(*ptr).s_id = 1004;
// (*ptr).age = 20;
ptr->age = 20;
printf("goorm 의 학번 : %d, 나이 : %d\n", goorm.s_id, goorm.age);
}
goorm이 바꾸고자하는 구조체.
*ptr이 이걸 바꾸기 위한 손가락.
이때 손쉽게 바꾸는 것이 바로 -> 기호.
struct hostent *he;
struct in_addr **addr_list;
struct in_addr addr;
he = gethostbyname(domain);
printf("ip address 주소 타입은 %d\n", he->h_length);
printf("Official name은 : %s\n", he->h_name);
ip_char = inet_ntoa(*(struct in_addr*)he->h_addr);
for(int i = 0; i < 16; i++){
ip[i] = ip_char[i];
}
printf("IP주소는 %s\n", ip);
구조체 포인터는 약간 포인터 인스턴스로 접근해서 가져온다는 개념.
'개발 > C' 카테고리의 다른 글
[C 소켓통신 #3] HTTP에 메시지를 보내고 받기 (0) | 2022.12.30 |
---|---|
[C] 문자열 포인터 (0) | 2022.12.29 |
[C] buffer memory flush 하는법 (fgets) (0) | 2022.12.26 |
[C] 형식 지정자 (ex. %d, %s, %o...) (0) | 2022.12.26 |
[C] fgets와 strcmp 를 같이 쓸때 주의할점 (0) | 2022.12.23 |