본문 바로가기
SMALL

분류 전체보기139

C013_구조체 포인터 사용하기 들어가기에 앞서서 포인터에 대해 설명은 전에 포스팅한 것을 참고해 주시길 바라겠습니다. https://hig0617.tistory.com/15 구조체 포인터 #define _CRT_SECURE_NO_WARNINGS #include #include //strcpy 함수가 선언된 헤더 파일 #include //malloc, free 함수가 선언된 헤더 파일 typedef struct Person { char name[20]; int age; char address[100]; } Person; int main() { Person* p1 = malloc(sizeof(Person)); //구조체 포인터 선언, 메모리 할당 //화살표 연산자로 구조체 멤버에 접근하여 값 할당 strcpy(p1->name, "홍길동".. 2023. 9. 15.
C012_struct, 구조체에 대해 구조체 정의 //선언하기 struct 구조체이름{ 자료형 멤버이름; }; //변수 선언하기 struct 구조체이름 변수이름; 위와 같이 구조체를 선언하는 것이 기본입니다. 익명 구조체 (typedef) 개발자님들께서 변수 'struct 구조체 이름'으로 일일이 변수를 만드는 것이 불편해서 익명 구조체를 만들었습니다. //선언하기 typedef struct _구조체 이름{ 자료형 멤버이름; } 구조체 별칭; //변수 선언하기 구조체별칭 변수이름; typedef를 사용해 익명 구조체를 만듭니다. 이때 '_구조체 이름'과 '구조체 별칭'이름이 같아도 무관합니다. 이렇게 하면 변수를 선언할 때 'struct 구조체 이름'으로 선언하지 않고 '구조체별칭'으로 구조체를 선언할 수 있게 됩니다. Person 구조체 .. 2023. 9. 14.
C011_배열 사용하기 배열 사용하기 #include int main() { int numArr1[10] = { 11, 22, 33, 44, 55, 66, 77, 88, 99, 110 }; int* numPtr1 = numArr1; //포인터에 int형 배열을 할당 int binary[20] = { 0, }; printf("%d\n", numArr1[0]); printf("%d\n", numArr1[-1]); //인덱스가 범위를 벗어난다면 쓰레기 값을 출력함 printf("%d\n", sizeof(numArr1)); //4바이트 크기의 요소가 10개이므로 40바이트 printf("%d\n", sizeof(numArr1) / sizeof(int)); //배열의 크기를 구할 때에는 전체 공간의 크기를 요소의 크기로 나누어줌 pri.. 2023. 9. 13.
C010_malloc사용하기 malloc 포인터 변수에 원하는 만큼 메모리 공간을 할당하여 사용합니다. 포인터 = malloc(sizeof(자료형) * 자료형의 갯수); malloc이 성공하면 메모리 주소를 반환하고 실패하면 NULL을 반환합니다. malloc은 'stdlib.h'라는 헤더파일에 선언이 되어 있습니다. 문자열 만들기 #include #include //malloc, free 함수가 선언된 헤더 파일 intmain(void) { char *str1; str1 = malloc(sizeof(char) * 14); str1 = "Hello, world!"; printf("%s\n", str1); free(str1); return (0); } str1문자열을 만듭니다. 이때 문자열의 길이가 마지막에 있는 null문자를 포함하.. 2023. 9. 12.
LIST