2.12.1. 変数#

C/C++ は、これぞでãĢį´šäģ‹ã—た Python や Perl とは違い、非常ãĢ几叺éĸãĒ言čĒžã§ã™ã€‚å¤‰æ•°ã‚’äŊŋう前ãĢ「型」を明įĸēãĢåŽŖč¨€ã—ãĒければãĒã‚‰ãšã€č¨€čĒžå´ãŒå‹æ‰‹ãĢįŠē気をčĒ­ã‚“ã§ãã‚Œã‚‹ã“ã¨ã¯ãģãŧありぞせん。そぎäģŖã‚ã‚Šã€äŊ•がčĩˇããĻいるかはすずãĻæŠŠæĄã§ããžã™ã€‚į†čĢ–ä¸Šã¯ã€‚

2.12.1.1. 数値#

C/C++ ã§ã¯ã€å¤‰æ•°ã‚’åˆŠį”¨ã™ã‚‹å‰ãĢåŋ…ãšåŽŖč¨€ã‚’čĄŒã„ãžã™ã€‚ããŽéš›ã€ããŽå¤‰æ•°ãĢおぎようãĒį¨ŽéĄžãŽå€¤ã‚’å…ĨれるäēˆåޚãĒぎかを、あらかじめæąēめãĻおくåŋ…čĻãŒã‚ã‚Šãžã™ã€‚äž‹ãˆã°ã€æ•´æ•°ã‚’äŋå­˜ã™ã‚‹å¤‰æ•° a ã‚’į”¨æ„ã™ã‚‹å ´åˆã¯ã€æŦĄãŽã‚ˆã†ãĢ書きぞす。

int a;

ここで int ã¯æ•´æ•°åž‹ã‚’čĄ¨ã™ã‚­ãƒŧワãƒŧドで、a が変数名です。こぎ操äŊœã§ã€æ•´æ•°ã‚’äŋå­˜ã™ã‚‹ãŸã‚ãŽįŽą a ã‚’į”¨æ„ã—ãŸã“ã¨ãĢãĒりぞす。

C/C++ ã§ã¯ã€åŽŖč¨€ã—ãŸã ã‘ãŽå¤‰æ•°ãŽä¸­ãĢ、おぎようãĒ値がå…ĨãŖãĻいるかは分かりぞせん。0 や 1 かもしれぞせんし、昨æ—ĨãĢéŖŸãšæŽ‹ã—ãŸãƒ”ã‚ļぎ切れįĢ¯ãŒå…ĨãŖãĻいる可čƒŊ性もありぞす。中čēĢä¸æ˜ŽãŽįŽąã¯åąé™ēです。変数をäŊŋう前ãĢはåŋ…ãšåˆæœŸåŒ–ã‚’čĄŒã„ãžã—ã‚‡ã†ã€‚

æŦĄã¯ã€å¤‰æ•° a ã‚’åŽŖč¨€ã—ã€å€¤ 10 をäģŖå…ĨしãĻã‹ã‚‰čĄ¨į¤ēする䞋です。

int a;
a = 10;
printf("%d\n", a);

åŽŖč¨€ã¨åŒæ™‚ãĢ初期化することも可čƒŊです。こぎ斚が厉全で、čĒ­ãŋã‚„ã™ãã€ã†ãŖã‹ã‚ŠãƒŸã‚šã‚‚é˜˛ã’ãžã™ã€‚

int a = 10;

å°æ•°ã‚’æ‰ąã†å ´åˆã¯ã€float 型や double åž‹ã‚’åˆŠį”¨ã—ãžã™ã€‚float ã¯å˜į˛žåēĻ、double ã¯å€į˛žåēĻぎæĩŽå‹•å°æ•°į‚šæ•°ã‚’čĄ¨ã—ã€åžŒč€…ãŽæ–šãŒã‚ˆã‚Šå¤šããŽæĄæ•°ã‚’æ‰ąãˆãžã™ã€‚į˛žåēĻがåŋ…čρãĒå ´éĸでは、double ã‚’åˆŠį”¨ã—ãžã™ã€‚

float b = 3.14;
double c = 3.141592653589793;

2.12.1.2. 文字#

æ–‡å­—ã‚’æ‰ąã†å ´åˆã¯ã€char 型をäŊŋいぞす。char 型ぎ変数ãĢã¯ã€ã‚ˇãƒŗã‚°ãƒĢクりãƒŧテãƒŧã‚ˇãƒ§ãƒŗīŧˆ'īŧ‰ã§å›˛ã‚“だ 1 文字だけをäģŖå…Ĩしぞす。

char d = 'A';

č¤‡æ•°ãŽæ–‡å­—ã‚’æ‰ąã„ãŸã„å ´åˆã¯ã€char åž‹ãŽé…åˆ—ã‚’åˆŠį”¨ã—ãžã™ã€‚ã“ãŽã¨ãã€äģŖå…Ĩしたい文字列をダブãƒĢクりãƒŧテãƒŧã‚ˇãƒ§ãƒŗīŧˆ"īŧ‰ã§å›˛ã‚“で指厚しぞす。

char str[] = "DNA";

一文字ぎ場合は 'ã€č¤‡æ•°æ–‡å­—ãŽå ´åˆã¯ "。ここを間違えると、C/C++ は一切フりロãƒŧしãĻくれぞせん。

2.12.1.3. 配列#

č¤‡æ•°ãŽå€¤ã‚’ãžã¨ã‚ãĻæ‰ąã„ãŸã„å ´åˆãĢは、配列、ベクã‚ŋãƒŧ、ãƒĒã‚šãƒˆã€é€Ŗæƒŗé…åˆ—ãĒãŠã‚’åˆŠį”¨ã—ãžã™ã€‚é…åˆ—ã€ãƒ™ã‚¯ã‚ŋãƒŧ、ãƒĒã‚šãƒˆã¯ã€ã‚¤ãƒŗãƒ‡ãƒƒã‚¯ã‚šīŧˆį•Ēåˇīŧ‰ã‚’äŊŋãŖãĻčĻį´ ã‚’é †į•ĒãĢįŽĄį†ã—ãžã™ã€‚ä¸€æ–šã€é€Ŗæƒŗé…åˆ—ã¯ã‚­ãƒŧと値ぎペã‚ĸでčĻį´ ã‚’įŽĄį†ã—ãžã™ã€‚ãã‚Œãžã‚ŒãŽčŠŗã—ã„äŊŋい斚ãĢついãĻは、æŦĄé …äģĨ降でčĒŦ明しぞす。