char a[10] = "hello";
이런식으로 문자열을 배열에 집어넣을때;;
딴방법으로는 불가능한가요??
예를 들어;;
char a[10]; a[] = "hello";
또는 a = "hello"; 이렇게 하니까 컴파일 에러나던데...
허접한 질문 올려서 죄송 검색하다가 못찾아서;; ㅠㅠ
char a[10]; strcpy(a,"hello");
char a[10] = { 'h', 'e', 'l', 'l', 'o', 0, }; :oops: 또는 char *a; a = strdup("hello"); 로 할당한 후, 사용 후에는 반드시 free(a); 로 할당된 메모리를 해제하세요.
배열명은 lvalue가 아니기 때문에
일반 변수처럼 a = " hello" 처럼 값을
대입할 수는 없습니다.
대신에 배열명은 주소값을 가지기 때문에
주소를 이용해서 값을 바꾸는 방법을 씁니다.
보통 char a[10] ; 이라고 했을 경우
strcpy( a, "hello"); strncpy(a, "hello",10);
등을 사용합니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
char a[10];strcpy(a,"hello");
char a[10];
strcpy(a,"hello");
역시 허접한 답....
char a[10] = { 'h', 'e', 'l', 'l', 'o', 0, };
:oops:
또는
char *a;
a = strdup("hello");
로 할당한 후,
사용 후에는 반드시
free(a);
로 할당된 메모리를 해제하세요.
배열명은 lvalue가 아니기 때문에..
배열명은 lvalue가 아니기 때문에
일반 변수처럼 a = " hello" 처럼 값을
대입할 수는 없습니다.
대신에 배열명은 주소값을 가지기 때문에
주소를 이용해서 값을 바꾸는 방법을 씁니다.
보통 char a[10] ; 이라고 했을 경우
strcpy( a, "hello");
strncpy(a, "hello",10);
등을 사용합니다.
댓글 달기