Memorandums?

This blog is written about technical-discovery and daily-event.

できるだけ[]を使わない!

配列作成時にできるだけ"[]"を使わない方法を探ります。
[]を使わないことにそれほど意味はないです()

メモリの動的確保

メモリを動的に確保する際の[]を使わない方法。

char *str = "Hello World!"
char *cp_str = (char *)malloc(sizeof(str)/sizeof(*str));

これでstrの文字数分(終端文字込)がcp_strに確保されます。
strは配列の先頭アドレスであり、
*strは先頭番地の値なのでstr[0]と同じです。

配列のインデックスにアクセス

char *str = "Hello";
printf("%c\n", *(str+3));

これでstr[3]にアクセスできます。