スポンサーリンク

このドキュメントの内容は、以下の通りです。

C言語で配列を使って、文字列を扱ったりしているかと思います。
配列にアクセスするために、添字をつけたりしてますよね。
たとえば、変数 a の 0 番目に ヌル文字をつっこむ、みたいなことです。
a [ 0 ] = '\0';


C言語の本とか見てると、たいてい、変数名のあとに、大カッコがきて、大カッコの中に、添字を書いて、大カッコを閉じます。
ですが、実は、変数名と添え字が逆でも構わないんです。

それは、要するにこういうことです。

0 [ a ] = '\0';

サンプルコード


それでは、実際にコードを書いてみます。

#include <stdio.h>
#include <stdlib.h>

int
main (int argc, char *argv[])
{
	int	i = 0;
	char	s [ 3 ] = { 'a', 'b', 'c' };

	(void) printf ("%c\n", 0 [ s ] );
	(void) printf ("%c\n", 1 [ s ] );
	(void) printf ("%c\n", 2 [ s ] );

	for (i = 0; i < sizeof ( s ); ++i )
	{
		(void) printf ("%d: %c\n", i, i [ s ] );
	}

	exit (EXIT_SUCCESS);
}

実行例


上記のサンプルコードを実行してみましょう。

想定通りの結果になりました。
a
b
c
0: a
1: b
2: c

というわけで、何の役にたたない、無駄な C言語の知識だったかと思います。

無駄な知識で、ふと思いだしたんですが、
C言語の無駄な知識やもっとよくC言語を学びたい方に、「エキスパートCプログラミング―知られざるCの深層」がオススメです。
10年ぐらい前に買った気がします。
読んでからは、ずっと本棚に鎮座してます。
たまに、読み返してみると、楽しい。



スポンサーリンク
スポンサーリンク
 
いつもシェア、ありがとうございます!


もっと情報を探しませんか?

関連記事

最近の記事

人気のページ

スポンサーリンク
 

過去ログ

2020 : 01 02 03 04 05 06 07 08 09 10 11 12
2019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12

サイト

Vim入門

C言語入門

C++入門

JavaScript/Node.js入門

Python入門

FreeBSD入門

Ubuntu入門

セキュリティ入門

パソコン自作入門

ブログ

トップ


プライバシーポリシー