반응형

디딤돌 C언어 45

[C언어 소스] malloc 함수 사용 (기본 형식 메모리 동적 할당)

[C언어 소스] malloc 함수 사용 (기본 형식 메모리 동적 할당) #include #include int main() { int *pi = (int *)malloc(sizeof(int)); //원하는 형식 포인터로 형변환 printf("초기: %d \n",*pi); *pi= 20; //간접 연산으로 사용 printf("간접 연산을 수행한 후: %d\n",*pi); free(pi); //더 이상 필요없을 때 해제 return 0; } 실행 결과초기: -842150451 간접 연산을 수행한 후: 20 본문[디딤돌 C언어] 83. malloc 함수

[C언어 소스] 공용체 하나의 멤버를 변경하면 다른 멤버의 값에 영향

[C언어 소스] 공용체 하나의 멤버를 변경하면 다른 멤버의 값에 영향 #include typedef union _Demo Demo; union _Demo { int i; float f; }; int main() { Demo d; d.i = 90; printf("d.i: %10d d.f:%0.2f\n", d.i, d.f); d.f = 1.0; printf("d.i: %10d d.f:%0.2f\n", d.i, d.f); d.i = 2; printf("d.i: %10d d.f:%0.2f\n", d.i, d.f); return 0; }실행 결과d.i: 90 d.f:0.00 d.i: 10653532 d.f:2.00 d.i: 2 d.f:0.00 본문[디딤돌 C언어] 75. 공용체

[C언어 소스] 구조체 비트 필드

[C언어 소스] 구조체 비트 필드 //구조체 비트 필드 #include typedef struct _Data Data; struct _Data { unsigned char married:1; //1비트 배정 unsigned char hascar:1; //1비트 배정 unsigned char hashouse:1; //1비트 배정 unsigned char age:5; //5비트 배정 }; int main(void) { Data data={0}; printf("size of Data : %d\n",sizeof(Data)); data.married = 1; data.hascar = 1; data.age = 22; printf("married:%d, hascar:%d, hashouse:%d, age:%d\n", ..

[C언어 소스] 구조체 형식으로 멤버 사용할 때 버그

[C언어 소스] 구조체 형식으로 멤버 사용할 때 버그 #include #define MAX_NAME_LEN 20 typedef struct _Student Student; struct _Student { char name[MAX_NAME_LEN+1]; int iq; }; void Study(Student stu); int main() { Student stu = {"홍길동", 100}; Study(stu); printf("main 이름:%s 아이큐:%d\n",stu.name,stu.iq); } void Study(Student stu) { printf("%s 공부하다.\n",stu.name); stu.iq++; printf("IQ:%d\n",stu.iq); } 실행 결과홍길동 공부하다. IQ:101 ma..

[C언어 소스] 구조체로 회원 형식 정의

[C언어 소스] 구조체로 회원 형식 정의 #include #include #define MAX_ID_LEN 20#define MAX_NAME_LEN 30#define MAX_ADDR_LEN 50typedef struct _Member Member;struct _Member{ char id[MAX_ID_LEN]; char name[MAX_NAME_LEN]; char addr[MAX_ADDR_LEN]; int age; int gender;};int main(){ Member member = { "" }; strcpy_s(member.id, MAX_ID_LEN, "jejutour"); strcpy_s(member.name, MAX_NAME_LEN, "장언휴"); strcpy_s(member.addr, MAX_..

[C언어 소스] 문자열 복사(strcpy_s 함수, strncpy_s 함수)

[C언어 소스] 문자열 복사(strcpy_s 함수, strncpy_s 함수) #include #include #define MAX_NAME_LEN 50 int main() { char name1[MAX_NAME_LEN+1] = "hello"; char name2[MAX_NAME_LEN+1] = ""; char name3[MAX_NAME_LEN+1] = ""; strcpy_s(name2,sizeof(name2),name1); printf("%s\n",name2); strncpy_s(name3,sizeof(name3),name1,3); printf("%s\n",name3); return 0; } 실행 결과hello hel 본문[디딤돌 C언어] 72. 문자열 복사

[C언어 소스] 문자열 비교(strcmp 함수)

[C언어 소스] 문자열 비교(strcmp 함수) #include #include #define MAX_NAME_LEN 50 int main() { char name1[MAX_NAME_LEN+1] = "hello"; char name2[MAX_NAME_LEN+1] = "hello"; if(strcmp(name1,name2) == 0) { printf("%s 와 %s는 같다.\n",name1,name2); } else { printf("%s 와 %s는 다르다.\n",name1,name2); } return 0; } 실행 결과hello와 hello는 같다. 본문[디딤돌 C언어] 71. 문자열 비교와 strcmp함수

반응형