ログイン
kid's world

たくさんの値を扱う

int *p;
p=malloc(sizeof(int)*100);
*p=100;
*p=100;
*(p+1)=127;
*(p+2)=1234;
...
*(p+100)=100;
#include <stdio.h>
#include <stdlib.h>

main()
{
  int *ip;
  float *fp;
  
  ip=malloc(sizeof(int)*2);
  if(ip==NULL) exit(1);
  
  fp=malloc(sizeof(float)*2);
  if(fp==NULL) exit(1);
  
  printf("ip:%p, ip+1:%p\n", ip, ip+1);
  printf("fp:%p, fp+1:%p\n", fp, fp+1);
  
  free(ip);
  free(fp);
}
ip:1420, ip+1:1422
fp:1428, fp+1:142C
#include <stdio.h>
#include <stdlib.h>

main()
{
  int *p, *q;
  
  p=malloc(sizeof(int)*3);
  if(p==NULL) exit(1);
  
  q=p;
  
  *q=100;
  q++;
  *q=200;
  q++;
  *q=300;
  
  printf("%d,%d,%d\n",*p,*(p+1),*(p+2));
  
  free(p);
}
*q=100;
q++;
*q=200;

/c/pointer-fig9.png


広告


©Toshio Koide 1996-2007.

mail.gif

広告