ポインター

ポインターとは

上の図では、mallocなどでヒープ領域に確保したメモリをポインタ変数で拾ってます。

文字列を例にした配列との違い

 char array[]="abcdef";
 char* pstr="abcdef";
 printf("%s\n",array);
 printf("%s\n",pstr);

上記の違いは以下のようになる

char str[]="apple";
char* pstr="abcdef";
//char型の場合
char* a = (char*)calloc(6,sizeof(char)); 
char* b = (char*)calloc(6,sizeof(char)); 
a[0]='a';
a[1]='p';
a[2]='p';
a[3]='l';
a[4]='e';
a[5]='\0';
strcpy(b,"apple");
printf("%s\n",str);
printf("%s\n",pstr);
printf("%s\n",a);
printf("%s\n",b);