[완료](C언어)void함수에서 문자열 포인터를 인수로 받아, 문자열 시작 위치를 변경하는 처리...

xeno8263의 이미지

안녕하세요.
C언어 관련 질문인데요.
void함수에서 문자열 포인터를 인수로 받아, 문자열 시작 위치를 변경하는 처리를 하고 싶은데,
어떻게 하면 좋을까요?
abcde문자열을 가르키는 s의 시작주소가 함수 호출 후에는 2칸 뒤로 가는 형태의 처리를 하고 싶습니다.
도움 부탁드립니다!!
char*형을 반환하지 않고 void형 함수에서 처리하고 싶은데, 잘 안되네요...ㅠㅠ
그럼, 감사드립니다!!

#include <stdio.h>
 
void func(char* str)
{
     //???
}
 
int main(int argc, char* argv)
{
	char s[10] = "abcde";
 
	func(s);
 
	printf("s:%s\n", s);	//print "cde"
 
	return 0;
}
라스코니의 이미지

void func(char *str)
{
   str = str + (char *)2;
}

그냥 생각나서 적어 봤습니다. 될지는 모르겠습니다. ^^

cppig1995의 이미지

char를 변경하려면 char *를 받아야 하듯이, char *를 변경하려면 char **를 받아야 합니다.

Real programmers /* don't */ comment their code.
If it was hard to write, it should be /* hard to */ read.

xeno8263의 이미지

#include

void func(char* str)
{
*str = *str + 2;
}

int main(int argc, char* argv)
{
char s[10] = "abcde";

func(&s);

printf("s:%s\n", s); //print "cde"

return 0;
}

yielding의 이미지

어떻게 컴파일이 된지 모르겠네요. 포인터를 처음 공부하는 초보에게는 몇 가지 생각해볼만한 문제지요.
위 코드의 문제는

1. 배열의 주소를 바꾸어 받으려는 것.
2. 포인터가 다른 주소를 가르키게 할려면 포인터의 포인터를 줘야하는데 그러지 않은 것.

#include <stdio.h>
 
void pr(char* s)
{
  printf("%s\n", s);
}
 
void f(char** s)
{
  *s = *s + 2;
}
 
int main(int argc, char const *argv[])
{
  char s[] = "abcde";
  char* ptr = s;
  pr(ptr);
  f(&ptr);
  pr(ptr);
 
  return 0;
}

Life rushes on, we are distracted

Life rushes on, we are distracted

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.