Photo via VisualHunt.com
ååã¯ãã¯ã©ã¹ã«ã¤ãã¦ã®åºç¤çãªèãæ¹ãå¦ç¿ãã¾ããã
ãã¦ãä»ã¾ã§ãå¤æ°ãã¨ãã¯ã©ã¹ãã¨ããç©ãåºã¦ãã¾ãããã
å°ããããç°¡åã«ã§ãããæ¯ãè¿ã£ã¦ã¿ããã¨ã«ãã¾ãããã
ãå¤æ°ãã¨ãã¯ã©ã¹ãã®ãããã
å¤æ°ã¨ã¯ã©ã¹ã¯å ±ã«ãã¢ããå ¥ããã¨ããèãæ¹ã§ã¯ä¼¼ããã®ã§ãããã¯ã©ã¹ã®ã»ãããã£ã¨ãããã大ããã®ã§ãã
å¤æ°
å¤æ°ã¨è¨ãã®ã¯ãåã¨ãããã®ã決ã¾ã£ã¦ãã¾ãã
ä¾ãã°ãintãcharãdoubleãªã©ã¨è¨ã£ããã®ã§ãã
ã¾ããã©ã®åã使ãã®ãã宣è¨ããããã«ååãã¤ãããã¨ã§å©ç¨ãå¯è½ã«ãªãã¾ãã
//åã¨å¤æ°ã®å®£è¨ãå¤æ°ã0ã§åæåã int suji_mae = 0; //å¤æ°ã«3ãä»£å ¥ã suji_mae = 3;
ã¤ã¡ã¼ã¸ã¨ãã¦ã¯ã1ã¤ã®ç®±ãç¨æãã¦ãããã«å¤ãå ¥ããã¨æã£ãã»ããè¯ãã§ãããã
ã¯ã©ã¹
ã¯ã©ã¹ã¨ã¯ã以ä¸ã®å 容ã§æ§æãããããã¾ãã«ãªãã¾ãã
- å¤æ°
- ã³ã³ã¹ãã©ã¯ã¿ã¼
- ã¡ã½ãã
ãªã®ã§ãã¯ã©ã¹ã¨ã¯ãå¤æ°ãå é¨ã«å¹¾ã¤ãæã¤ãã¨ãåºæ¥ã¾ããããã®å¤æ°ã«å¯¾ããå¦çã®é¨åãå å ãããã¨ãåºæ¥ã¾ãã
ã¾ãã使ãæ¹ã¨ãã¦ã¯ãã¡ãã£ã¨å¤æ°ã¨ã¯ä½¿ãæ¹ãç°ãªãã¾ãã
ã¯ã©ã¹ã¯èªåã®ååãæã£ã¦ãã¦ãä¸ã®ä¾ã§ã¯Calcã¯ã©ã¹ã¨ããåã¨ããæ±ãã«ãªã£ã¦ãã¾ãã
ã½ã¼ã¹ã³ã¼ãã®ä¸ã§ãããpublic class Calcãã¨æè¨ããã¦ããã¯ãã§ãã
ããã¦ãã¯ã©ã¹ã¨ã¯é³åã§ããã¨ã説æãã¾ããã
å®éã«å©ç¨ããå ´åã«ã¯ããããã³ãã¼ãã¦ãã£ããåããã®ãçæï¼ã¤ã³ã¹ã¿ã³ã¹çæï¼ãã¦ä½¿ãã¾ãã
使ãæ¹ãè¦ã¦ã¿ã¾ãããã
//Calcã¯ã©ã¹ã使ã£ã¦ãcalcAã¨ããååã§ã¤ã³ã¹ã¿ã³ã¹çæ Calc calcA = new Calc(); //Calcã¯ã©ã¹ã使ã£ã¦ãCalcBã¨ããååã§ã¤ã³ã¹ã¿ã³ã¹çæï¼ã³ã³ã¹ãã©ã¯ã¿ã¼ãå©ç¨ããå ´åï¼ Calc calcB = new Calc(a, b);
ã¾ããã¯ã©ã¹ã¯ã¤ã³ã¹ã¿ã³ã¹çæãè¡ãéã«ãã³ã³ã¹ãã©ã¯ã¿ã¼ã¨ããç¹å¥ãªã¡ã½ãããèªåçã«åä½ããã¨ãããã¨ãã話ãã¾ããã
é常ã¯ããã®ã¾ã¾ã§ãããã®ã§ãããç¹å¥ã«ä½ããããå ´åã¯ãå³è¾ºã®ï¼ï¼ã®ä¸ã«å¿ è¦ãªãã¼ã¿ã渡ãçãè¡ãã¾ãã
ãã¤ã³ã¿
ãã¦ãå®ã¯ä»åã®ä¸»ãªãã¼ãã¯ããã¤ã³ã¿ãã«ãªãã¾ãã
ããã°ã©ã ãåå¼·ãããã¨ã®ããæ¹ã¯ãå¿ ãã¨è¨ã£ã¦ãããã»ã©ããã¤ã³ã¿ã«æ³£ããããã»ã»ã»ãã¨ããçµé¨ãããã¯ãï¼ç¬ï¼
ããã«ãããã®åã¤ãï¼C#ã¯ãã¤ã³ã¿ã使ããªãã£ã¦è¨ã£ããããã¼ãï¼ï¼ãã¨æãããããï¼æ±ï¼
確ãã«ãC#ã¯ãã¤ã³ã¿ãæèãã¦ææ³çã«å©ç¨ããã¨ããæ©ä¼ã¯ããã¾ãããããã®é¨åã¯OSã«ä»»ããã¨ããè¨è¨ããããè¨èªã§ãã
ãããããã¤ã³ã¿ã®æ¦å¿µãç解ãã¦ããªãã¨ãå®éã®ããã°ã©ã åä½ã®æã«ã¨ã©ã¼ã®åãåããè¡ããªããªãã®ã§ãã
ã¾ããåä½ã®èª¬æãã¤ããªããªã£ã¦ãã¾ãã¾ãããã¤ã³ã¿ã¯è¡¨é¢ä¸ã¯æ¶ãã¦ãã¾ãã¾ããããè£ã§ã¯ç¢ºå®ã«çãã¦ããå¿ é ã®æè¡ã§ããããããé ã«å ¥ãã¦ããå¿ è¦ãããã¾ãã
ã¾ãã»ã»ã»ããåºããªããã«ã楽ãªæ°æã¡ã§è¡ãã¾ãããï¼
å¤æ°ãã¯ã©ã¹ã¯ã¡ã¢ãªã«ç¢ºä¿ããã
å ç¨ã¾ã§ããå¤æ°ãããã¯ã©ã¹ãã¨è¨ã£ã¦ãã¾ãããã©ãçµå±ã®æã©ãã§å 容ãè¦ãã¦ããã®ã§ãããï¼
ãã®çãã¯ãã¡ã¢ãªã§ãã
çããã®ãã½ã³ã³ã«ããã¡ã¢ãªâ¯â¯GBæè¼ã¨ãªã£ã¦ããã¯ãã§ãã
ä»ã§ã¯ã4GB以ä¸æè¼ãä¸è¬çããªï¼
ã³ã³ãã¥ã¼ã¿ã¯ãç©äºãå®è¡ããæã«ãå ãã¯ã¡ã¢ãªã«å ¨ã¦ã®å 容ãä¸æçã«ç½®ãã¾ããããã¦ããããåç §ããªããåä½ãè¡ãã®ã§ãã
ã³ã³ãã¥ã¼ã¿ã®ãã®é¨åã«ã¤ãã¦ã¯ä»¥ä¸ã®è¨äºãåèã«ãã¦ããã ããã°å¹¸ãã§ãã
ãã¦ãã¡ã¢ãªä¸ã«ãããããã®ãä¸æ¦è¨æ¶ãããã®ã§ããããå¤æ°ãã¨ãã¯ã©ã¹ãã¯ã¡ã¢ãªä¸ã§è¨æ¶ãããå ´æãå°ã ç°ãªãã¾ãã
ã¹ã¿ãã¯é åã¨ãã¼ãé å
ã¡ã¢ãªã®ä¸ã¯æ§ã ãªåºç»ãããã®ã§ããããã®ä¸ã§ãçããã«ç¥ã£ã¦ãã¦æ¬²ããã®ã¯ããã¹ã¿ãã¯é åãã¨ããã¼ãé åãã¨å¼ã°ããåºç»ã§ãã
ããã»ã»ã»å¥æ®µããã¼ãã¦ã§ã¢ã®è©³ããã¨ããã¾ã§ç¥ãå¿ è¦ã¯ããã¾ããã
ããããå ´æããããã ãããã§è¯ãã§ãã
ç°¡åã«å³ç¤ºããã¨ãããããã¨ã«ãªãã¾ãã
å¤æ°ã¯ãäºãåã決ã¾ã£ã¦ãã¾ããã¤ã¾ããã©ãã ãã®å¤§ããã®å ´æã使ãããåãã£ã¦ããã®ã§ãã
ããã«ãåã ã®å¤æ°ã®å¤§ããã¯å°ããã§ãããããã¯ã¹ã¿ãã¯é åã¨ããå ´æã«ç¢ºä¿ããã¾ãã
ãã¦ãã¯ã©ã¹çã®å¤æ°ä»¥å¤ã®ãã®ã¯ãåºæ¬çã«ãã¼ãé åã«ç¢ºä¿ããã¾ããããã¦ãä½æ åãã¦ãããã¨è¨ãã¨ããã®ãã¼ãé åã«ç¢ºä¿ããããã®ã¯ãå¯å¤ãã®ãã®ã ã¨æã£ã¦ä¸ããã
ã¯ã©ã¹ã«ã¯æ§ã ãªå¤æ°ãå å ãã¦ãã¾ããããï¼ä¸ã«ã¯ãå¾ãã追å ããããåé¤ãããã¨ããããªã¹ãã¨å¼ã°ããå¯å¤ã§å¢æ¸ããæ©è½ãæã¤ãã¨ãåºæ¥ã¾ãããããªãã¨ãäºãã©ãã ãã®ã¡ã¢ãªéã使ãã®ãæ¤è¨ãã¤ãã¾ããã
ãããããã®ã¯ããã¼ãé åã§ç®¡çãè¡ããOSãç£è¦ãããªãããã®ä½¿ç¨éã®å¢æ¸ã管çããã®ã§ãã
ãã®ã¾ã¾ã§ã¯ããã¹ã¿ãã¯é åãã¨ããã¼ãé åãã®éãã¯åãã£ã¦ããã©ããã¦ããã¾ã§æ·±å»ã«èããå¿ è¦ãããã®ãåããã¾ãããã
å®ã¯ããã°ã©ã ãæ¸ãä¸ã§ããããã¯éè¦ãªæå³ãæã¤ã®ã§ãã
ããã°ã©ã å®è£ ä¸ã®éã
ããããã©ã¡ãã®é åã«å ´æã確ä¿ãããã«ãã£ã¦ãããã°ã©ã ã®æå³ãå°ã å¤ãã£ã¦ãã¾ãã
ã§ã¯ããããå®éã®ç°¡åãªããã°ã©ã ãæ¸ãã¦ã¿ã¾ãããã
int A = 10; int B = 10; int C = 0; C = A + B;
ãã¦ãå¤æ°ãCãã«ã¯ä½ãå ¥ã£ã¦ããã§ãããããçãã¯ã20ãå ¥ã£ã¦ãã¾ãã
ããã¾ã§ã¯è¯ãã¨æãã¾ãã
ããã§ã¯ãã¯ã©ã¹ã®å ´åã«åæ§ãªå¦çããã¦ã¿ã¾ãããã
表示ãããªãå ´åã¯ãã¡ããåç
§ãã ãã
第9回プログラミング講座(ヒープ領域)
解説ãããã¨ã3è¡ç®ã8è¡ç®ã¯ãCalcã¯ã©ã¹ã®å®ç¾©ãè¡ã£ã¦ãã¾ããã¤ã¾ãé³åãä½ã£ã¦ãã¾ãã
13è¡ç®ã¨14è¡ç®ã§ãnewãè¡ããã¨ã«ãããã¤ã³ã¹ã¿ã³ã¹çæãå®è¡ãã¦ãã¾ããï¼ãããããã¼ãé åã«å ´æã確ä¿ãã¦ãã¨ããå½ä»¤ã§ããï¼
ãã¦ãå°ã é£ãããªãã¾ããã17è¡ç®ã¨18è¡ç®ã¯ã.ãï¼ããã¯ãã®ããæå³ãããã§ãããããï¼ã使ããã¨ã§ãåã ã®çæããã¯ã©ã¹ã®å é¨ã®å¤æ°ãsuji1ãã«ä»£å ¥ãè¡ã£ã¦ãã¾ãã
ã¤ã¾ãããCalcAã®suji1ã«5ãä»£å ¥ããCalcBã®suji1ã«10ãä»£å ¥ãã¨ããæå³ãªã®ã§ãã
ã§ã¯ã21è¡ç®ã¯ã©ãããæå³ã§ããããã
CalcBãCalcAã«ä»£å ¥ãã¾ãã
ãã®ã¾ã¾è¡ãã¨ãCalcBã®å 容ãå ¨ã¦CalcAã«å ¥ããããããã«æãã§ãããï¼
å®ã¯ãéããã¨ãèµ·ãã¾ãã
CalcAãCalcBãããå ¨ãåä¸ã®ãã®ãã«ãªã£ã¦ãã¾ãã®ã§ãã
ããï¼ï¼ã©ããã¦ï¼ï¼ ããããã¤ã³ã¿ã®å¹æãªãã§ãï¼æ±ï¼
ãã¼ãé åããã£ã¨è©³ããè¦ã¦ã¿ãã¨ããããããã¨ã«ãªã£ã¦ãã¾ãã
ãã¼ãé åã«ç¢ºä¿ããããã®ã¯å¯å¤ãªã®ã§ãã©ãããã©ãã¾ã§ã確ä¿ããå ´æï¼ã¨æ示çã«è¨ããã¨ãåºæ¥ã¾ãããã ã£ã¦ã大ãããå¤ãã£ã¦ããå¯è½æ§ãããããã§ãã
ã§ããããããã«ç¢ºä¿ããããã®ã¯ãã¡ã¢ãªã®çªå°ã使ã£ã¦ããåããããã¨ã«ãªã£ã¦ãã¾ãã
ã¡ã¢ãªã®ã©ãã«å ´æã確ä¿ããããããã¦ã確ä¿ããå ´æã®å é ã®çªå°ãè¦ãã¦ããã¾ãã
ä¾ãã°ãCalcAãã¤ã³ã¹ã¿ã³ã¹çæããéã«ã¯ãå®éã«ã¡ã¢ãªä¸ã«ç¢ºä¿ããé åã¨ããã®é åã®å é ã®çªå°ï¼ä¾ã§ã¯001ï¼ãè¦ãã¦ããå ´æãããã¾ãã
ããã¦ãæ®æ®µã¯ãã®çªå°ã使ã£ã¦ããåããã¾ããããã«ã¯çç±ãããã¾ããä¸ã¤ã¯ãå ã»ã©æããããã«ã確ä¿ããé åãå¯å¤ã§ããããã§ãã
ããä¸ã¤ã®çç±ã¨ãã¦ã¯ãä»£å ¥ããã¨ããè¡çºã¯ãä»£å ¥ãããã®ãã¾ãå¥ã®å ´æã«ä¸æ¦ç¢ºä¿ãã¦å ¥ãè¾¼ãã¨ããä½æ¥ãªã®ã§ããã¤ã¾ããå ã»ã©ã®å¤æ°ã®å ´åã®ãC = A + B;ãã¯ãAã¨Bã¨åã大ããã®ã¢ããå¥ã«ç¨æãã¦ãã³ãã¼ãã¦è¨ç®ãã¦ãã¾ãããããå¯å¤ã®ã¢ãã«å¯¾ãã¦åæ§ã«è¡ãã¨ããããããã¨ãã®å¯¾è±¡ã®ç©ã¯ã¡ãã£ã¯ãã£ã«ã§ã£ãããã®ããç¥ãã¾ãããã³ãã¼ãç¨æããã ãã§ä¸è¦å´ã§ãããææªã¡ã¢ãªã足ããªãããããã¾ãããï¼è¶³ããªããªãæã¯ç¸å½ãªå¤§ããã®æã ãã§ããã©ã»ã»ã»ï¼
ã§ããããããã¾ã§å é çªå°ã¨ããç°¡åãªæ°åãããåããããã¨ã§æ¸ã¾ããã¨ããã®ã§ãã
ãããæè¬ããã¤ã³ã¿ã¨å¼ã°ãããã®ã§ãã
ã¨è¨ãããã§ããCalcA = CalcB;ãã¨ãããã¨ãããã¨ä»¥ä¸ã®ãã¨ãçºçãã¾ããï¼ClacBã®çªå°ãCalcAã®çªå°ã¨ãã¦ä¸æ¸ãããï¼ä»£å ¥ï¼ï¼
ãã®åçãåãã£ã¦ããªãã¨ãç¥ããç¥ããã®ãã¡ã«ãã¯ã©ã¹ãå¥ã®ã¤ã³ã¹ã¿ã³ã¹çæããã¯ã©ã¹ãæ±ã£ã¦ãããã¨ã«ãªã£ãããæå³ããã«ã¯ã©ã¹ã®å é¨ãæ¸ãæãã¦ãã¾ã£ãã¨ãããã¨ã«ãªãã¾ãã
ä»®ã«ãããçºçãã¦ããããããåçã§ãããã¨ãåãã£ã¦ããã°å¯¾å¿ãå¯è½ã§ãããããç¥ããªãã¨ããªããªãåå ã«ãã©ãçãã¾ããã
æã®Cã¨è¨ã£ãè¨èªã¯ããããæ示çã«ãã¤ã³ã¿ã®ææ³ãåå¨ããã¡ã¢ãªã®çªå°ãã¬ãªã¬ãªã«ä½¿ãåãã¾ããã
ãããããã«ãã£ã¦ãã¡ã¢ãªã®ãªã¼ãã¼ããã¼ãèµ·ãããããã¡ã¢ãªã®æå³ããã®é åæ¸ãæããªã©ã®ãªã¹ã¯ãå¤ãã£ãã®ã§ãã
ç¾å¨ã¯ãJavaãC#ã¨è¨ã£ãè¨èªã¯ã表ä¸ã¯ãã¤ã³ã¿ã¯ããªããªãã¾ãããããããæ¬å½ã¯ãã¤ã³ã¿ã¯åå¨ãã¦ãã¦ããã¤ã³ã¿ã®åçãç解ããªãã¨ãããã°ã©ã ãæ£å¸¸åä½ããªãã¨ãããã¨ã«é ãæ±ãããã¨ã«ãªãã¾ãã
ã¾ã¨ã
ãã¦ãä»åã¯ããªãããªã¥ã¼ã ããã£ãã¨æãã¾ãã
ç°¡åã«ã¾ã¨ããã¨ä»¥ä¸ã«ãªãã¾ãã
- ã¡ã¢ãªã«ã¯ã¹ã¿ãã¯é åã¨ãã¼ãé åããã
- å¤æ°ã¯ã¹ã¿ãã¯é åã«ç¢ºä¿ããã
- å¤æ°ä»¥å¤ã®ãã®ã¯åºæ¬çã«ãã¼ãé åã«ç¢ºä¿ãããã
- ãã¼ãé åã«ç¢ºä¿ããããã®ã¯ãçªå°ï¼ãã¤ã³ã¿ï¼ã§ããã¨ããè¡ãããã®ã§ã注æãå¿ è¦ã§ããã
ã¨è¨ã£ãã¨ããã§ããããã
ããªã大ããªå±±ã§ãã®ã§ãä¸åº¦ã§ã¯ç解ãé£ããããããã¾ããã
ãã®å ´åã¯ã質åããããã§ãtwitterã§ãããã ããã°ããã¤ã§ã解説ãè´ãã¾ãã
ããã§ã¯æ¥½ãããããã°ã©ãã³ã°ã©ã¤ããï¼ï¼
adiosï¼ï¼