소개
게시글
질문&답변
질문 두 가지가 있습니다
메인파일을 받아 제가 수정한 후 실행해봐도 한번하고 종료됩니다(사진)
- 2
- 2
- 404
질문&답변
4.4강 마지막부분에 강의와 답이 다르게 나옵니다 ㅜㅜ
#include #include // strlen and more #include int main() { char str1[100] = "Hello"; char str2[] = "Hello"; char str3[100] = "\0"; //빈칸과 /0은 다르다 char str4[100] = "\n"; printf("%zu %zu\n", sizeof(str1), strlen(str1)); //100 5 //stringlength 안에 str을 넣으면 글자수만 세준다. /0이 들어있지만 길이를 셀 때는 /0을 빼고 세준다. printf("%zu %zu\n", sizeof(str2), strlen(str2)); //6 5 //배열의 크기는 /0포함 6 길이는 /0제외 5이다. printf("%zu %zu\n", sizeof(str3), strlen(str3)); //100 0 //배열의 크기는 100, 길이는 /0을 제외하고 세기 떄문에 0이다. printf("%zu %zu\n", sizeof(str4), strlen(str4)); //100 1 // /n은 두개가 합쳐서 한 글자 처럼 되고 아스키코드로 인식된다. /* Extra */ char *str5 = (char*)malloc(sizeof(char) * 100); //char을 백칸 넣겠다고 하여 메모리를 받아오고 대표하는 메모리 주소가 *str5포인터 변수에 저장되었다. str5[0] = 'H'; str5[1] = 'e'; str5[2] = 'l'; str5[3] = 'l'; str5[4] = 'o'; str5[5] = '\0'; printf("%zu %zu\n", sizeof(str5), strlen(str5)); // 4 5 //4 바이트는 포인터변수 자체의 변수이다. 5는 글자수를 세준 것 return 0; }
- 1
- 1
- 344