[מוזיק פּלייינג] דאַג לויד: גוט. מיר ווע געארבעט מיט ינטאַדזשערז, מיר ווע געארבעט מיט אותיות, מיר ווע געארבעט פלאָאַץ, דאַבאַלז, סטרינגס, און באָאָלס. מיר ווע ויסגעמאַטערט שיין פיל אַלע פון די [ינאָדאַבאַל] טייפּס אַז האָבן שוין בנימצא צו אונדז אַלע צוזאמען. אבער איצט מיר ווילן צו טאָן עפּעס מער. ווי טאָן מיר טאָן אַז? ווי טאָן מיר מאַכן פאַרשידענע דאַטע טייפּס? מיר קענען טאָן אַזוי דורך ניצן סטראַקטשערז. אַזוי סטראַקטשערז לאָזן אונדז צו פאַרייניקן וועריאַבאַלז פון פאַרשידענע טייפּס אין אַ איין, נייַ בייַטעוודיק טיפּ, וואָס מיר קענען באַשטימען זייַן אייגן טיפּ נאָמען. דאס איז אַ טאַקע שטאַרק זאַך צו קענען צו טאָן, ווייַל מיר קענען איצט גרופּע עלעמענטן פון פאַרשידענע דאַטע טייפּס צוזאַמען וואָס האָבן אַ לאַדזשיקאַל קשר. מיר ווע שוין קענען צו טאָן דעם מיט ערייז סאָרט פון, רעכט? מיר קענען גרופּע וועריאַבאַלז פון דער זעלביקער דאַטע טיפּ צוזאַמען אין אַ גרויס אַפּאַראַט פון זכּרון, אַ מענגע. אבער מיר האָבן ניט געווען בכוח צו מישן אַרויף פאַרשידענע דאַטע טייפּס צוזאַמען. מיר קענען ניט, זאָגן, פּאָר אַ ינטאַדזשער, און אַ כאַראַקטער, און אַ טאָפּל אַלע אין די זעלבע זאַך און רוף אַז אַ איין אַפּאַראַט. אבער מיט סטראַקטשערז, אָדער אָפט רעפעררעד צו ווי סטרוקץ, מיר אַקשלי קענען. אַזוי אַ סטרוקטור איז סאָרט פון ווי אַ סופּער בייַטעוודיק. עס ס אַ בייַטעוודיק אַז כּולל אנדערע וועריאַבאַלז ין פון עס. אַזוי דאָ ס אַ בייַשפּיל פון אַ זייער פּשוט ביניען. דאס איז וואָס די סינטאַקס וואָלט קוקן ווי צו שאַפֿן אַ סטרוקטור פֿאַר אַ מאַשין. איצט, לאָזן ס גיין דורך די סינטאַקס דאָ. סטרוקט, אַז ס די קיווערד אַז ינדיקייץ אַז איך בין קריייטינג אַ נייַ דאַטן טיפּ דאָ. אין באַזונדער, די דאַטן טיפּ ס נאָמען איז געגאנגען צו זיין סטרוקט מאַשין, ווי מיר וועט זען. אָבער דאָס איז דער סאָרט פון שפּיץ אַוועק צו די קאַמפּיילער אַז דאָס ווי אַ גרופּע פון ​​וועריאַבאַלז וואָס איז געגאנגען צו זיין געהאלטן טייל פון דער זעלביקער טיפּ אין אַ מינוט. קאַרס, נאָר די נאָמען פון די ביניען. ווידער, די דאַטן טיפּ דאָ איז געגאנגען צו זיין סטרוקט מאַשין, ניט נאָר מאַשין. אבער אויב איר האָבן דיפפערענט-- אויב איר מאַכן קייפל סטרוקץ אין דער זעלביקער פּראָגראַם, איר דאַרפֿן צו ויסטיילן צווישן סטרוקט און סטרוקט. אַזוי סטרוקט מאַשין, איך זאל אויך האָבן סטרוקט תּלמיד, למשל, אין דער זעלביקער פּראָגראַם. ין פון די געגרייַזלט ברייסאַז זענען אַלע פון ​​די אַזוי-גערופֿן fields, אָדער מיטגלידער פון די ביניען. אזוי וואָס זענען עטלעכע פון ​​די זאכן וואָס זענען טאָכיק אין אַ מאַשין? נו, עס יוזשאַוואַלי האט אַ יאָר, האט אַ מאָדעל נאָמען, און אַ דערלויבעניש טעלער, אַ אָודאַמאַטער אַז יוזשאַוואַלי האט עטלעכע נומער פון מייל אויף עס, און אפֿשר אַ מאָטאָר גרייס. און ווי איר קענען זען, איך בין מיקסינג אַרויף ינטאַדזשערז און אותיות און דאַבאַלז. זיי ניטאָ אַלע געגאנגען צו זיין טייל פון דעם נייַ דאַטן טיפּ. לאַסטלי, די לעצט זאַך איך דאַרפֿן צו טאָן, דו זאלסט נישט פאַרגעסן דעם קליין פּינטל-קאָמע אין די סוף. נאָך מיר ענדיקן דעפינינג די ביניען, מיר דאַרפֿן צו שטעלן אַ פּינטל-קאָמע אין די סוף. עס ס אַ זייער פּראָסט סינטאַקטיקאַל גרייַז, ווייַל מיט אַ פֿונקציע, לעמאָשל, איר וואָלט נאָר האָבן עפענען געגרייַזלט בראַסע, נאָענט געגרייַזלט בראַסע. איר טאָן ניט שטעלן אַ פּינטל-קאָמע אין די סוף פון אַ פֿונקציע דעפֿיניציע. דאס קוקט ווי אַ פֿונקציע דעפֿיניציע, אָבער עס ס ניט, און אַזוי די פּינטל-קאָמע עס איז נאָר אַ דערמאָנונג אַז איר דאַרפֿן צו לייגן עס דאָרט, ווייַל די קאַמפּיילער וועט אַנדערש ניט וויסן וואָס צו טאָן מיט אים. עס ס אַ זייער פּראָסט טעות צו אַקסאַדענאַלי מאַכן ווען איר ניטאָ ערשטער דעפינינג סטראַקטשערז. קעשורע. אַזוי מיר יוזשאַוואַלי דעפינירן אונדזער סטראַקטשערז ביי די זייער שפּיץ פון אונדזער מגילה ווייַל זיי ניטאָ מיסטאָמע געגאנגען צו ווערן געניצט דורך קייפל פֿעיִקייטן. מיר טאָן ניט ווילן צו דעפינירן אַ סטרוקט ין פון אַ פֿונקציע, ווייַל דעמאָלט מיר קענען אָנלי-- די פאַרנעם פון די ביניען טאַקע בלויז יגזיסץ ין פון וואָס פונקציאָנירן. מיר'ד מיסטאָמע ווילן צו דעפינירן אַ סטרוקטור אַזוי מיר קענען נוצן עס אין קייפל פֿעיִקייטן, אָדער טאָמער אין קייפל טעקעס אַז ביסט טייד צוזאַמען צו שאַפֿן אונדזער איין פּראָגראַם. מאל אויך אָנשטאָט פון דעפינינג די ביניען אין דער זייער שפּיץ ווו איר שטעלן דיין פונט כולל און דיין פונט דעפינעס, לעמאָשל, איר זאל שטעלן זיי אין באַזונדער פּונקט ה טעקעס, וואָס איר דעמאָלט פונט אַרייַננעמען זיך. אַזוי מיר האָבן סטראַקטשערז, אָבער איצט מיר דאַרפֿן צו באַקומען ין פון זיי. ווי טאָן מיר באַקומען ין פון אַ סטרוקטור צו צוטריט די סאַב-וועריאַבאַלז, יענע וועריאַבאַלז אַז עקסיסטירן ין דער סטרוקטור? נו, מיר האָבן עפּעס גערופֿן די פּינטעלע אָפּעראַטאָר, וואָס אַלאַוז אונדז צו צוטריט די פֿעלדער פון די ביניען. אַזוי פֿאַר בייַשפּיל, לאָזן ס זאָגן איך ווע דערקלערט מיין סטרוקטור דאַטן טיפּ ערגעץ אין די שפּיץ פון מיין פּראָגראַם, אָדער טאָמער אין אַ פּונקט ה טעקע אַז איך ווע פונט ינקלודעד. אויב איך דעמאָלט ווילן צו שאַפֿן אַ נייַ בייַטעוודיק פון וואָס דאַטן טיפּ, איך קענען זאָגן, סטרוקט מאַשין, מיין מאַשין, פּינטל-קאָמע. פּונקט ווי איך קען זאָגן ינט רענטגענ, אָדער שטריקל נאָמען פּינטל-קאָמע. די דאַטן טיפּ דאָ איז סטרוקט מאַשין, די נאָמען פון די בייַטעוודיק איז מיין מאַשין, און דעמאָלט איך קענען נוצן די פּינטעלע אָפּעראַטאָר צו צוטריט די פאַרשידן fields פון מיין מאַשין. אַזוי איך קענען זאָגן מיין מאַשין פּונקט יאָר יקוואַלז 2011. אַז ס בישליימעס פייַן. יאָר, אויב איר צוריקרופן, איז געווען Defined ווי אַ ינטעגער פעלד ין פון דעם סטרוקט מאַשין דאַטן טיפּ. אַזוי קיין בייַטעוודיק פון די סטרוקט מאַשין דאַטע טיפּ, אַזאַ ווי מיין מאַשין, איך קענען זאָגן מיין מאַשין פּונקט יאָר יקוואַלז און דעמאָלט באַשטימען עס עטלעכע ינטעגער ווערט, 2011. מיין מאַשין פּונקט טעלער יקוואַלז קס50. מיין קאָרט פּונקט אָודאַמאַטער יקוואַלז 50,505 פּינטל-קאָמע. כל פון די זענען בישליימעס פייַן און אַז ס ווי מיר צוטריט די fields פון די ביניען. סטרוקטורעס, כאָטש, טאָן ניט דאַרפֿן צו זיין Created אויף די אָנלייגן. פּונקט ווי קיין אנדערע בייַטעוודיק, מיר קענען דינאַמיקאַללי אַלאַקייט זיי. אויב מיר האָבן אַ פּראָגראַם וואָס זאל זייַן דזשענערייטינג פילע סטראַקטשערז, מיר טאָן ניט וויסן ווי פילע מיר רע געגאנגען צו דאַרפֿן, דעמאָלט מיר דאַרפֿן צו דינאַמיקאַללי אַלאַקייט די סטראַקטשערז ווי אונדזער פּראָגראַם איז פליסנדיק. און אַזוי אויב מיר רע געגאנגען צו צוטריט די fields פון אַ ביניען אין אַז קאָנטעקסט, צוריקרופן אַז מיר ערשטער דאַרפֿן צו דערעפערענסע די טייַטל צו די ביניען, און דעמאָלט אַמאָל מיר דערעפערענסע די טייַטל, דעמאָלט מיר קענען צוטריט די פֿעלדער. אויב מיר נאָר האָבן אַ טייַטל צו די ביניען, מיר קענען ניט נאָר זאָגן טייַטל פּונקט פעלד נאָמען און באַקומען וואָס מיר ניטאָ קוקן פֿאַר. עס ס די עקסטרע שריט פון דערעפערענסינג. אזוי לאָזן ס זאָגן אַז אָנשטאָט דעם פּרעוויאָוס-- פּונקט ווי די פֿריִערדיקע לעמאָשל, אַנשטאָט פון דיקלערינג עס אויף דעם אָנלייגן, סטרוקט מאַשין, מיין מאַשין, פּינטל-קאָמע, איך זאָגן סטרוקט מאַשין, שטערן, אַ טייַטל צו אַ סטרוקט מאַשין גערופֿן מיין מאַשין, יקוואַלז מאַללאָק גרייס פון סטרוקט מאַשין. גרייס פון מיר וועט רעכענען אויס ווי פילע בייטן דיין נייַ דאַטן טיפּ נעמט זיך. איר טאָן ניט דאַווקע נאָר דאַרפֿן צו נוצן גרייס פון, ברייט, ינט, אָדער טשאַר, אָדער קיין פון די געבויט-אין דאַטע טייפּס. די קאַמפּיילער איז קלוג גענוג צו רעכענען אויס ווי פילע ביטעס זענען required דורך דיין נייַ ביניען. אַזוי איך מאַללאָק זיך אַ אַפּאַראַט פון זכּרון גרויס גענוג צו האַלטן אַ סטרוקט מאַשין, און איך באַקומען אַ טייַטל צוריק צו אַז בלאָק פון זכּרון, און אַז טייַטל איז אַסיינד צו מיין מאַשין. איצט, אויב איך ווילן צו צוטריט די פֿעלדער פון מיין מאַשין, איך ערשטער דערעפערענסע מיין מאַשין ניצן די דערעפערענסע אָפּעראַטאָר, שטערן אַז מיר ווע געזען פון די פּוינטערז ווידיאס, און דעמאָלט נאָך איך דערעפערענסע, דעמאָלט איך קענען נוצן די פּינטעלע אָפּעראַטאָר צו צוטריט די פאַרשידן fields פון מיין מאַשין. שטערן מיין מאַשין פּונקט יאָר יקוואַלז 2011. וואָס וואָלט האָבן די ווירקונג מיר ווילן אין דעם פאַל, ווייַל מיר ווע דינאַמיקאַללי אַלאַקייטיד מיין מאַשין. אַז ס מין פון אַנויינג, כאָטש, רעכט? עס ס אַ 2-שריט פּראָצעס איצט. איצט מיר האָבן צו דערעפערענסע-- מיר האָבן אַ שטערן אָפּעראַטאָר, און מיר האָבן אַ פּינטעלע אָפּעראַטאָר. און ווי איר זאל דערוואַרטן, ווייַל C פּראָוגראַמערז ליבע קירצער וועגן צו טאָן זאכן, עס איז אַ קירצער וועג צו טאָן דעם. עס איז אן אנדער אָפּעראַטאָר גערופֿן פייַל, וואָס מאכט דעם פּראָצעס אַ פּלאַץ גרינגער. דער וועג פייַל אַרבעט איז עס ערשטער דערעפערענסעס די טייַטל אויף די לינקס זייַט פון דער אָפּעראַטאָר, און דעמאָלט, נאָך בעת דערעפערענסעד די טייַטל אויף די לינקס, עס אַקסעססעס די פעלד אויף די רעכט. און אַזוי ביז אַהער מיר האט דעם סאָרט פון שטערן מיין מאַשין פּונקט אַלע דעם שטאָפּן, ווי עס איז אַ פּלאַץ געגאנגען אויף דאָרט. אבער וואָס מיר קענען אַנשטאָט טאָן איז טהיס-- מיין מאַשין פייַל יאָר יקוואַלז 2011. ווידער, וואָס ס געשעעניש דאָ? ערשטער, איך בין דערעפערענסינג מיין מאַשין. וואָס ווידער, איז אַ טייַטל דאָ. דעמאָלט, נאָך בעת דערעפערענסעד מיין מאַשין, איך קענען דעריבער צוטריט די פֿעלדער יאָר, טעלער, און אָודאַמאַטער פּונקט ווי איך קען איידער ווייל ערשטער געניצט שטערן צו דערעפערענסע מיין מאַשין, און פּונקט צו צוטריט די פעלד. אַזוי איר קענען האָבן סטראַקטשערז, איר קענען האָבן פּוינטערז צו סטראַקטשערז, און איר האָבן וועגן צו צוטריט די פֿעלדער פון די סטראַקטשערז, צי איר האָבן פּוינטערז צו זיי אָדער די וועריאַבאַלז זיך. פּונקט אָדער פייַל, דיפּענדינג אויף ווי די בייַטעוודיק איז דערקלערט. איך בין דאַג לויד, דאָס איז קס50.