다중참조와 매개변수

C : 2007. 11. 3. 11:56
 

이를테면 평소의 일상적인 상식과 별반 다를 것이 없는 이유로 대충 넘어감.


p.219_1
#include <stdio.h>

int main(void)
{
 float *fp, **mfp, val;

 fp = &val;     //val pointing
 mfp = &fp;     //fp  pointing

 **mfp = 123.903;       //역참조
 printf("%f %f   \n", val, **mfp);

 printf("fp %p %p\n", &fp, fp);
 printf("mfp %p %p\n", &mfp, mfp);
 printf("val %p\n", &val);

 return 0;
}

사용자 삽입 이미지

p.219_2
#include <stdio.h>

int main(void)
{
 char *p, **mp, str[80];

 p = str;          //str[80] pointing
 mp = &p;          //p pointing

 printf("Enter your name: ");
 gets(*mp);                //mp enter string
 printf("Hi %s.  ", *mp);  //mp output

 return 0;
}

p.221_1
#include <stdio.h>

void myputs(char *p);

int main(void)
{
 myputs("this is a test");

 return 0;
}

void myputs(char *p)
{
 while(*p) {
  printf("%c", *p++);
  //p++;     //p가 가리키는 주소를 증가
 }
 printf("\n");
}

p.221_2
#include <stdio.h>

void myputs(char *to, char *from);

int main(void)
{
 char str[80];

 myputs(str, "this is test");
 printf(str);

 return 0;
}

void myputs(char *to, char *from)
{
 while(*from) *to++ = *from++;
 *to = '\0';
}

Posted by 청웨일