이 문자 배열 strncpy 함수

E

embeddedlover

Guest
코드 1 : : 나는 다음 두 코드 조각을 가지고 숯불 * = "인도"; char *로 B 조 = "와"; strncpy (, B 조, 3); 코드 2 : 문자 [10] = "인도"; 숯불 B 조 [10] "와"=; strncpy (, B 조, 3); 코드 조각이 작품과 인간이 하나 왜 작동하지 않는다?
 
야 미리보기 1에서 당신은 문자열 포인터에있는 파일을 복사하려고하는 ....이 컴파일러가 실행 주겠다 시간 오류 세분화 잘못처럼 해주면 일단 당신이 아이디어를 얻을 것이다 포인터의 개념을 사용하여 문자열에 대해서 읽고 ....
 
[코드] 숯불 *에이 = "인도"; [이 / 코드] "인도"은 변수가 그것에 대한 포인터이며 문자열 상수입니다. 당신은 아토는 문자를 읽는 데 사용할 수있는 시도가 세그먼트 오류를 일으킬 것입니다 그것을 쓸 수 없습니다. [코드]에서 숯불 [10] = "인도"; [/ 코드], 당신은 읽을 수 또는 배열 요소를 작성할 문자열 "인도"로 initialised 배열의 길이는 10입니다.
 
감사합니다, 그것을 가지고 .... char *로이 상수 "인도"문자를 가리키는, 문자 포인터를 정의합니다. 숯불로 B 조 [10] 그건 공간 내에서 할당된 문자열을 가질 수 배열을 정의 곳. 우리는 또 다른 아니지만 문자 포인터 하나의 배열로부터 문자열을 복사할 수 있습니다. 우리는 선언 방법은 여기에 문제 ... [견적] 당신은 아토는 문자하지만 세그먼트 오류를 일으킬 것입니다 그것에 쓰기 시도를 읽을 수 있습니다. [/ 견적] 작성은 허용되지 않습니다 그러나 다음과 같은 방법을 지정 허용됩니다 아닌가요? 숯불 * = "인도"; char *로 B 조 = "와"; = B 조;
 
[견적 = embeddedlover; 895391] 허용되는 다음과 같은 방법을 지정하지만 아닌가요? 숯불 * = "인도"; char *로 B 조 = "와"; = B 조; [/ 견적] 그래, A와 B는 어떤 문자의 주소를 저장할 수있는 포인터입니다. 당신은 문자열의 시작 상수 "와", 즉를 가리 키도록 지정해야 모두 A와 B '는'당신이 다음의 [코드] [] = "인도"숯불 할 수의 주소를 가지고있다; 숯불 B 조 [] = "와"; = B 조; 식별자는 A와 B는 배열의 시작과 = B는 불법입니다 임무는 상수 포인터 아르 [/ 코드]
 

Welcome to EDABoard.com

Sponsor

Back
Top