>> [సంగీతాన్ని]
>> డౌ LLOYD: గమనికలు, ఇక్కడ మేము ఉన్నాయి.
ఈ బహుశా అన్నారు అతి క్లిష్టమైన అంశం
మేము CS50 గురించి మాట్లాడితే.
మరియు మీరు చదివారు ఉంటే గమనికలు గురించి ఏదైనా
మీరు కొద్దిగా కావచ్చు ముందు భయపెట్టడం ఈ వీడియో వెళ్లడానికి.
ఇది గమనికలు నిజం మీరు సామర్ధ్యానికి అనుమతిస్తాయి లేదు
బహుశా అప్ మేకు అందంగా చెడుగా మీరు ఉన్నప్పుడు
వేరియబుల్స్ మరియు సమాచారంతో పనిచేసే, మరియు మీ ప్రోగ్రామ్ క్రాష్ దీనివల్ల.
కాని అవి నిజానికి నిజంగా ఉపయోగకరంగా ఉన్నారు మరియు వారు మాకు ఒక గొప్ప మార్గం అనుమతిస్తుంది
తిరిగి డేటా పాస్ మరియు ముందుకు విధులు మధ్య,
మేము లేకపోతే చెయ్యలేకపోతే.
>> కాబట్టి మేము నిజంగా రైలు ఇక్కడ చేయాలనుకుంటున్నారా
మీరు మంచి పాయింటర్ క్రమశిక్షణ కలిగి, కాబట్టి మీరు సమర్థవంతంగా గమనికలు ఉపయోగించవచ్చు ఆ
మీ కార్యక్రమాలు మెరుగ్గా చేయడానికి.
నేను అన్నాడు వంటి గమనికలు మాకు వేరే ఇవ్వాలని వే ఫంక్షన్ మధ్య డేటా పాస్.
ఇప్పుడు మీరు గుర్తు ఉంటే అంతకుముందు వీడియో, ఎప్పుడు
మేము గురించి మాట్లాడుతూ వేరియబుల్ స్కోప్, నేను చెప్పిన
మేము మధ్య పాస్ అన్ని డేటా సి లో విధులు విలువ ద్వారా ముగిసింది.
మరియు నేను ఉపయోగించే ఉండకపోవచ్చు పదం నేను అక్కడ అర్థం ఏమి
మేము డేటా యొక్క కాపీలు ప్రయాణిస్తున్న ఉంది.
మేము ఒక ఫంక్షన్ ఒక వేరియబుల్ పాస్ చేసినప్పుడు, మేము నిజంగా వేరియబుల్ ప్రయాణిస్తున్న లేదు
ఫంక్షన్, కుడి?
మేము కాపీని అక్కడ చేస్తున్నారు ఫంక్షన్ ఆ డేటా.
ఫంక్షన్ ఏమి అది చేస్తుంది మరియు అది కొన్ని విలువ లెక్కిస్తుంది,
మరియు బహుశా మేము ఆ విలువ ఉపయోగించడానికి అది తిరిగి ఇచ్చే ఉన్నప్పుడు.
>> ఒక మినహాయింపు ఉంది విలువ ద్వారా ప్రయాణిస్తున్న ఈ నిబంధనను
మరియు మేము ఏమి ఆ వచ్చి చేస్తాము ఈ వీడియో లో తర్వాత కొద్దిగా ఉంది.
మేము బదులుగా గమనికలు ఉపయోగిస్తే వేరియబుల్స్ ఉపయోగించి యొక్క,
లేదా వేరియబుల్ ఉపయోగించి బదులు తమను లేదా వేరియబుల్స్ యొక్క కాపీలు,
మేము ఇప్పుడు చుట్టూ వేరియబుల్స్ పాస్ వేరే విధంగా విధులు మధ్య.
ఈ మేము చేస్తే అర్థం ఒక ఫంక్షన్ లో ఒక మార్పు,
ఆ మార్పు నిజానికి పడుతుంది వేరే ఫంక్షన్ లో ప్రభావితం.
మళ్ళీ, ఈ ఏదో అని మేము గతంలో ఏమి కాలేదు
మరియు మీరు ఎప్పుడైనా మారడానికి ప్రయత్నించాము ఉంటే ఒక ఫంక్షన్ లో రెండు వేరియబుల్స్ విలువ
మీరు ఈ సమస్యను గమనించి చేసిన చర్మము యొక్క విధమైన, కుడి?
>> మనం X, Y మరియు మేము స్వాప్ అనుకుంటే swap అనే ఫంక్షన్ వాటిని పాస్,
ఫంక్షన్ లోపలి మార్పిడి వేరియబుల్స్ మార్పిడి విలువలు చేయండి.
ఒకటి రెండు అవుతుంది, రెండు అవుతుంది ఒకటి, కానీ మేము నిజంగా లేదు
అసలు ఏదైనా మార్చడానికి ఫంక్షన్, కాలర్ లో.
ఎందుకంటే మేము, మేము ఉన్నాము మాత్రమే వాటిలో కాపీలు పని.
అయితే గమనికలు తో, మేము నిజానికి ఒక ఫంక్షన్ X మరియు Y పాస్.
ఆ ఫంక్షన్ చేయవచ్చు వారితో ఏదో.
మరియు ఆ వేరియబుల్స్ విలువలు నిజానికి మార్చవచ్చు.
కాబట్టి ఆ చాలా మార్పు వార్తలు డేటా పని మా సామర్థ్యాన్ని.
>> మేము ప్రవేశిస్తాడు ముందు గమనికలు, నేను అది విలువ వార్తలు అనుకుంటున్నాను
కొన్ని నిమిషాలు తీసుకొని ఇక్కడ తిరిగి బేసిక్స్ వెళ్ళండి.
మరియు ఎలా వద్ద ఒక లుక్ కలిగి కంప్యూటర్ మెమరీలో రచనలు
ఈ రెండు విషయాలను వెళ్తున్నారు ఎందుకంటే నిజానికి చాలా ఒకదానితో మరొకటి సంబంధం ఉండాలి.
బహుశా మీకు బాగా తెలిసి, మీ కంప్యూటర్ సిస్టమ్పై
మీరు హార్డు డ్రైవు లేదా బహుశా ఒక ఘన రాష్ట్ర డ్రైవ్,
ఫైలు నిల్వ నగర విధమైన.
ఇది ఎక్కడో సాధారణంగా ఉంది 250 గిగాబైట్ల యొక్క పొరుగు
ఇప్పుడు టెరాబైట్ల బహుశా ఒక జంట.
మరియు అది అన్ని మీ ఫైళ్లు చివరికి, నివసిస్తున్నారు
మీ కంప్యూటర్ షట్ కూడా ఆఫ్, మీరు తిరిగి చెయ్యవచ్చు
మరియు మీరు మీ ఫైళ్ళను ఉన్నాయి పొందుతారు మళ్ళీ మీరు మీ సిస్టమ్ రీబూట్ చేసినప్పుడు.
కానీ ఒక హార్డ్ డిస్క్ డ్రైవ్ వంటి డిస్క్ డ్రైవ్ ఒక HDD, లేదా ఒక ఘన రాష్ట్ర డ్రైవ్, ఒక SSD,
కేవలం నిల్వ స్థలాన్ని ఉన్నాయి.
>> మేము నిజానికి ఏమీ కాదు హార్డ్ డిస్క్ లో ఆ డేటా,
లేదా ఒక ఘన రాష్ట్ర డ్రైవ్ లో.
నిజానికి మార్చటానికి డేటా లేదా దాని చుట్టూ తరలించడానికి,
మేము దానిని తరలించడానికి కలిగి RAM, రాండమ్ యాక్సెస్ మెమరీ.
ఇప్పుడు RAM, మీరు చాలా కలిగి మీ కంప్యూటర్ లో తక్కువ.
మీరు ఎక్కడో ఉండవచ్చు 512 మెగాబైట్ల పొరుగు
మీరు పాత కంప్యూటర్ ఉంటే, బహుశా రెండు, నాలుగు, ఎనిమిది, 16,
బహుశా కూడా కొద్దిగా మరింత, RAM యొక్క గిగాబైట్ల.
కాబట్టి ఆ చాలా చిన్న, కానీ ఆ పేరు అస్థిర డేటా అవి ఉనికిలో.
మేము విషయాలు మార్చవచ్చు పేర్కొంది.
కానీ మేము మా కంప్యూటర్ ఆఫ్ మారినప్పుడు, RAM లో డేటా యొక్క అన్ని నాశనం.
>> మేము హార్డ్ డిస్క్ కలిగి ఉండాలి ఎందుకు కాబట్టి ఆ ఇది మరింత శాశ్వత స్థానాన్ని,
ఇది exists- కనుక అది చేస్తాను నిజంగా చెడు ఉంటుంది ఉంటే ప్రతిసారీ మేము
మా కంప్యూటర్ ఆఫ్ మారిన ప్రతి మా సిస్టమ్ లో ఫైల్ నాశనం చేసింది జరిగినది.
కాబట్టి మేము RAM యొక్క లోపల పని.
మరియు ప్రతిసారీ మనం మాట్లాడే మెమరీ, చాలా చక్కని, CS50 లో,
మేము RAM, హార్డ్ లేదు డిస్క్ గురించి మాట్లాడటం చేస్తున్నాం.
>> కాబట్టి మేము మెమరీ లోకి విషయాలు తరలించడానికి ఉన్నప్పుడు, అది ఖాళీ కొన్ని మొత్తం తీసుకుంటుంది.
అన్ని డేటా రకాలు ఆ మేము పని చేసిన
వేర్వేరు పడుతుంది RAM లో స్థలం మొత్తంలో.
కాబట్టి ప్రతి సమయం మీరు ఒక పూర్ణాంకం సృష్టించడానికి మెమరీ వేరియబుల్ నాలుగు బైట్లు
మీరు అలా RAM లో ప్రక్కన సెట్ ఉన్నాయి ఆ పూర్ణాంక తో పని చేయవచ్చు.
మీరు పూర్ణాంకం డిక్లేర్ దానిని మార్చడం, అది కేటాయించి
పెరిగిన ఒక విలువ 10 కు ఒకటి, అందువలన న న.
లో ఏమి అవసరం అన్ని RAM, మరియు మీరు నాలుగు బైట్లు పొందడానికి
ప్రతి కోసం పని మీరు సృష్టించే పూర్ణాంక.
>> ప్రతి పాత్ర మీరు సృష్టించడానికి ఒక బైట్ పొందుతాడు.
ఆ స్థలం ఎంత ఉంది ఒక పాత్ర నిల్వ అవసరం.
ప్రతి ఫ్లోట్, నిజమైన సంఖ్య నాలుగు బైట్లు గెట్స్
అది ఒక డబుల్ తప్ప ఖచ్చితత్వము ఫ్లోటింగ్ పాయింట్
ఇది మిమ్మల్ని దీనికి అనుమతిస్తుంది సంఖ్య, మరింత ఖచ్చితమైన లేదా ఎక్కువ అంకెలు కలిగి
దశాంశ బిందువు తర్వాత ఖచ్చితత్వము కోల్పోకుండా,
ఇది మెమరీ ఎనిమిది బైట్లు పడుతుంది.
లాంగ్ longs, నిజంగా పెద్ద పూర్ణాంకాల కూడా మెమరీ ఎనిమిది బైట్లు పడుతుంది.
ఎన్ని మెమరీ బైట్లు తీగలను అప్ తీసుకుని చెయ్యాలి?
Well యొక్క ఆ ప్రశ్న లో ఒక పిన్ ఉంచారు తెలియజేయండి కానీ, ఇప్పుడు మేము తిరిగి వచ్చారు చేస్తాము.
>> సో తిరిగి మెమొరీ ఈ ఆలోచన గా బైట్-పరిమాణ కణాలు పెద్ద అర్రే.
ఆ నిజంగా అది అంతే, అంతే కణాల కేవలం ఒక భారీ శ్రేణి,
కేవలం ఏ ఇతర శ్రేణి వంటి మీకు తెలిసిన మరియు చూడండి,
ప్రతి మూలకం తప్ప ఒక బైట్ వెడల్పుతో ఉంటుంది.
మరియు కేవలం ఒక శ్రేణి వంటి, ప్రతి మూలకం ఒక చిరునామా ఉంది.
వ్యూహం ప్రతి మూలకం ఒక ఇండెక్స్, మరియు మేము ఉంది
అని పిలవబడే చేయాలని ఆ సూచిక ఉపయోగించవచ్చు శ్రేణి రాండమ్ యాక్సెస్.
మేము వద్ద ప్రారంభించడానికి కలిగి లేదు అర్రే ప్రారంభంలో,
ప్రతి ద్వారా iterate ఒకే మూలకం వాటి,
మేము చూస్తున్న ఏమి కనుగొనేందుకు.
మేము కేవలం నేను పొందాలనుకోవడం చెప్పగలదు 15 వ మూలకం లేదా 100 వ మూలకం.
మరియు మీరు ఆ సంఖ్య పాస్ చేయవచ్చు మరియు మీరు చూస్తున్న విలువ పొందండి.
>> అదేవిధంగా ప్రతి నగర మెమరీ లో ఒక చిరునామా ఉంది.
సో మీ మెమరీ ఉండవచ్చు ఈ వంటి ఏదో చూడండి.
ఇక్కడ చాలా చిన్న భాగం ఉంది జ్ఞాపకశక్తి, ఈ మెమరీ 20 బైట్లు.
మొదటి 20 బైట్లు ఎందుకంటే నా దిగువన చిరునామాలు
3, 2, 1, 0, మరియు అందువల్ల 19 వరకు అన్ని మార్గంలో.
నేను వేరియబుల్స్ డిక్లేర్ ఎప్పుడు నేను వారితో పని ప్రారంభించినప్పుడు,
వ్యవస్థ సెట్ అన్నారు నాకు పక్కన కొన్ని స్పేస్
ఈ మెమరీ లో పని నా వేరియబుల్స్ తో.
నేను చార్ సి రాజధాని సమానం అనవచ్చు హెచ్ ఏ జరిగే అవకాశముంది?
వెల్ వ్యవస్థలో అన్నారు నాకు ఒక బైట్ కోసం ప్రక్కన సెట్.
ఈ సందర్భంలో అది బైట్ సంఖ్య ఎంచుకున్నాడు నాలుగు, చిరునామా నాలుగు వద్ద బైట్,
మరియు అది నిల్వ జరగబోతోంది నాకు అక్కడ లేఖ రాజధాని H.
నేను అప్పుడు పూర్ణాంకానికి వేగం చెప్పుకోవాలంటే పరిమితి అంతే, 65 సమానం
ప్రక్కన నాలుగు సెట్ వెళుతున్న నాకు మెమరీ బైట్లు.
మరియు ఇది ఆ చికిత్స జరగబోతోంది ఒకే యూనిట్ గా నాలుగు బైట్లు
మేము పని ఏమి ఎందుకంటే ఇక్కడ పూర్ణాంకం ఉంది.
మరియు ఇది అక్కడ 65 నిల్వ జరగబోతోంది.
>> ఇప్పుడు ఇప్పటికే నేను రకమైన ఉన్నాను మీరు ఒక అబద్ధం ఒక బిట్ చెప్పడం,
కుడి, మేము తెలుసు ఎందుకంటే కంప్యూటర్లు బైనరీ లో పని.
వారు అర్థం లేదు తప్పనిసరిగా ఒక రాజధాని H ఏమిటి
లేదా ఒక 65 వారు మాత్రమే, ఏమిటి బైనరీ, సున్నాలు మరియు వాటిని అర్థం.
అందువలన నిజానికి ఏమిటి మేము అక్కడ నిల్వ చేస్తున్నారు
లేఖ H మరియు సంఖ్య 65, కాదు కానీ బైనరీ ప్రాతినిధ్యాలు
వాటి, ఇది చూడండి ఈ వంటి చిన్న ఏదో.
మరియు ముఖ్యంగా పూర్ణాంక వేరియబుల్ యొక్క నేపధ్యము
అది కేవలం అది లోకి ఉమ్మి మాత్రం కాదు అది ఒక నాలుగు గా చికిత్స మాత్రం కాదు
బైట్ భాగం తప్పనిసరిగా నిజానికి జరగబోతోంది
నాలుగు ఒక బైట్ రాళ్లను గా చికిత్స, ఈ వంటి ఏదో చూడండి ఉండవచ్చు.
మరియు కూడా ఈ కాదు పూర్తిగా నిజం గాని,
అని ఏదో ఎందుకంటే మేము లేదు ఒక endianness,
, ఇప్పుడు పొందడానికి వెళ్ళడం కానీ మీరు గురించి ఆసక్తిగా ఉంటే,
మీరు చిన్న అప్ చదువుకోవచ్చు మరియు పెద్ద endianness.
కానీ ఈ వాదన కొరకు, ఈ వీడియో కొరకు,
యొక్క ఆ, ఉంది ఊహించుకోవటం తెలియజేయండి నిజానికి, ఎలా సంఖ్య 65 చేస్తాను
సూచించబడుతుంది ప్రతి వ్యవస్థ మెమరీ,
అది పూర్తిగా నిజం కాదు అయితే.
>> కానీ యొక్క నిజానికి కేవలం పొందుటకు వీలు పూర్తిగా అన్ని బైనరీ యొక్క వదులుకొను,
మరియు కేవలం H గురించి ఆలోచించడం మరియు 65, ఇది చాలా సులభం
వంటి దాని గురించి ఆలోచించటం ఒక మానవుడు ఆ.
అన్ని కుడి, అది కూడా తెలుస్తోంది కాబట్టి బహుశా ఒక చిన్న యాదృచ్ఛిక ఆ I've- నా సిస్టమ్
బైట్లు 5, 6, 7 నాకు ఇవ్వలేదని, మరియు 8 ఇంటీజర్ నిల్వ.
ఆ కారణంగా, చాలా, ఉంది దీనిలో మేము ఇప్పుడు లోకి పొందుటకు, కానీ తగినంత కాదు
ఆ ఏమి చెప్పాలో కంప్యూటర్ ఇక్కడ చేస్తున్న
బహుశా దాని భాగంగా ఒక మంచి ఎత్తుగడ ఉంది.
నాకు ఆ మెమరీ ఇవ్వాలని లేదు తప్పనిసరిగా వెనక్కి తిరిగి.
ఇప్పుడు అది చేయబోవడం అయితే నేను మరొక స్ట్రింగ్ పొందడానికి అనుకుంటే,
ఇంటిపేరు అని, మరియు నేను కావలసిన అక్కడ లాయిడ్ ఉంచాలి.
నేను ఒక సరిపోయే అవసరం వెళుతున్న పాత్ర, ఆ ప్రతి అక్షరం
ఒక అవసరం అన్నారు పాత్ర, మెమరీ ఒకటి బైట్.
నేను నా శ్రేణి లోకి లాయిడ్ చాలు కాలేదు చేస్తే ఈ వంటి నేను, వెళ్ళడానికి చాలా మంచి రెడీ?
వెలితి?
>> ప్రతి స్ట్రింగ్ మేము పని గుర్తుంచుకోండి సి బాక్ స్లాష్ సున్నా ముగుస్తుంది తో,
మరియు మేము గాని, ఇక్కడ ఆ వదిలివేయు చేయవచ్చు.
మేము ప్రక్కన ఒక బైట్ సెట్ అవసరం మెమరీ కాబట్టి మేము ఆ పట్టుకోండి
మా స్ట్రింగ్ ముగిసినప్పుడు తెలుసు.
మరలా ఈ అమరిక మార్గం విషయాలు
మెమరీ మైట్ కనిపిస్తాయి కొద్దిగా యాదృచ్ఛిక
కానీ అది నిజానికి ఎలా ఉంది అనేక వ్యవస్థలు రూపొందించబడ్డాయి.
గుణిజాలను వాటిని వరుసలో నాలుగు కారణాలు మళ్ళీ
మేము అవసరం లేని ప్రస్తుతం పొందడానికి.
కానీ ఈ, కాబట్టి చెప్పడానికి అది తగినంత కోడ్ యొక్క ఈ మూడు పంక్తులు తరువాత,
ఈ మెమరీ లాగా ఉండవచ్చు ఏమిటి.
నేను స్మృతిని అవసరం అయితే 4, 8, మరియు 12, నా డేటా పట్టుకోండి
ఈ నా మెమరీ లాగా ఉండవచ్చు ఏమిటి.
>> కేవలం ముఖ్యంగా ఉంటుంది ఇక్కడ, ఎప్పుడు పాండిత్య ప్రకర్ష
మేము మెమరీ గురించి మాట్లాడటం చేస్తున్నాం చిరునామాలను సాధారణంగా మనం
కాబట్టి హెక్సాడెసిమల్ నోటేషన్లు ఉపయోగించి.
సో ఎందుకు మేము ఈ అన్ని మార్చేందుకు లేదు హెక్సాడెసిమల్ సంజ్ఞామానం దశాంశ నుండి
కేవలం ఆ సాధారణంగా ఎందుకంటే ఎలా మేము మెమరీ చూడండి.
సో బదులుగా ద్వారా 0 అనే 19, మనం సున్నా
సున్నా x1 మూడు ద్వారా x సున్నా.
ఆ మెమొరీ 20 బైట్లు అని మేము లేదా మేము ఈ చిత్రం లో చూడటం చేస్తున్నారు
ఇక్కడే.
>> కాబట్టి ఆ చెప్పబడుతున్నాయి అన్ని, లెట్స్ రెండవ కోసం మెమరీ నుండి దూరంగా దశను
మరియు తిరిగి గమనికలు.
ఇక్కడ అత్యంత ముఖ్యం విషయం గుర్తుంచుకోవాలని
మేము గమనికలు పని మొదలు.
ఒక పాయింటర్ ఏమీ ఒక చిరునామా కంటే ఎక్కువ.
నేను మళ్ళీ ఎందుకంటే చెప్పాను చేస్తాము అది ముఖ్యం
ఒక పాయింటర్ ఏమీ ఒక చిరునామా కంటే ఎక్కువ.
గమనికలు స్థానాలకు విలాసాలు మెమరీలో వేరియబుల్స్ నివసించే.
ఇది ఆశాజనక అవుతుంది అని తెలుసుకుంటే సులభంగా కొద్దిగా వారితో పని.
నేను ఇష్టం మరొక విషయం అలా విధమైన కలిగి ఉంది
దృశ్యపరంగా ఏమి ప్రాతినిధ్యం రేఖాచిత్రాలు కోడ్ యొక్క వివిధ మార్గాల తో జరుగుతున్న.
మరియు మేము ఈ జంట చేస్తాను గమనికలు సార్లు,
మరియు మేము డైనమిక్ గురించి మాట్లాడినప్పుడు మెమరీ కేటాయింపు అలాగే.
నేను ఈ చిత్రాలు అని అనుకుంటున్నాను ఎందుకంటే ముఖ్యంగా సహాయపడతాయి.
>> నేను ఉదాహరణకు సే చేస్తే, Int k నా కోడ్ లో, ఏమి జరుగుతుందో?
బాగా ప్రధానంగా ఉంటుంది జరుగుతున్నది నేను నాకు పక్కన పెట్టింది మెమరీ పొందుతున్నాను
కానీ నేను కూడా ఇష్టం లేదు నేను ఆ వంటి దాని గురించి ఆలోచించటం
ఒక బాక్స్ వంటి దాని గురించి ఆలోచించడానికి ఇష్టపడతాను.
నేను ఒక బాక్స్ మరియు అది రంగు ఆకుపచ్చ నేను ఎందుకంటే
ఆకుపచ్చ బాక్సులను లో పూర్ణాంకాల ఉంచవచ్చు.
ఇది ఒక పాత్ర నేను ఒక ఒక నీలం బాక్స్ ఉండవచ్చు.
నేను సృష్టించడం నేను అయితే నేను ఎల్లప్పుడూ చెప్పటానికి పూర్ణాంకాల జరపవచ్చని సూచించబడింది ఒక బాక్స్
ఆ బాక్స్ ఆకుపచ్చ రంగు ఉంటుంది.
నేను ఒక శాశ్వత మార్కర్ తీసుకొని మరియు నేను వైపు k వ్రాయండి.
నేను, k అనే ఒక బాక్స్ ఇందులో నేను పూర్ణాంకాల ఉంచవచ్చు.
నేను Int k సే, ఆ ఏమి నా తల జరుగుతుంది.
నేను k ఐదు సమానం చెబితే, నేను ఏమి చేస్తున్నాను?
Well, నేను ఐదు ఆటంకమవుతుంది బాక్స్ లో, కుడి.
ఈ ఉంటే, అందంగా సూటిగా ఉంటుంది నేను Int k, k అనే బాక్స్ సృష్టించవచ్చు అంటున్నారు.
ఉంటే నేను, k 5 సమానం చెప్పడానికి పెట్టెలో ఐదు ఉంచారు.
ఆశాజనక ఒక లీపు యొక్క చాలా కాదు.
విషయాలు వెళ్ళి అక్కడ ఇక్కడ అయితే ఆసక్తికరమైన కొద్దిగా.
నేను Int * PK చెబితే, నేను పోయినా ఈ తప్పనిసరిగా అర్థం ఏమి,
ఇది స్పష్టంగా ఏదో తీరవలసినదే ఒక పూర్ణాంకం చేయాలని.
కాబట్టి నేను రంగు వెళుతున్న ఆకుపచ్చ ఇష్ ఈ బాక్స్
నేను ఏదో తీరవలసినదే తెలుసు ఒక పూర్ణాంకం చేయాలని,
కానీ అది ఒక పూర్ణాంకం కూడా కాదు, అది ఒక పూర్ణాంకానికి తార ఎందుకంటే.
ఏదో కొద్దిగా ఉంది దాని గురించి వివిధ.
కాబట్టి పూర్ణాంకం యొక్క చేరి కానీ లేకపోతే అంతే
నుండి చాలా భిన్నంగా లేదు మనం గురించి మాట్లాడుతూ.
ఇది ఒక బాక్స్, దాని, ఒక లేబుల్ వచ్చింది అది ఒక లేబుల్ PK వేసుకొని,
మరియు అది హోల్డింగ్ సామర్థ్యం ఆ సంసార Int నక్షత్రాలు.
వారు ఏదైనా కలిగి పూర్ణాంకాల తో, స్పష్టంగా.
ఇక్కడ చివరి పంక్తి అయితే అనిపిస్తుంది.
నేను చెప్పే ఉంటే PK = & k, అయ్యో, ఏమి కేవలం కుడి, జరిగింది?
కాబట్టి ఈ యాదృచ్చిక సంఖ్య, అకారణంగా యాదృచ్ఛిక అనేక ఉన్నాయి బాక్స్ లోనికి విసిరి కావాలి.
అని అన్ని, PK ఉంది k యొక్క చిరునామా గెట్స్.
K మెమరీ జీవించింది నేను అంటుకునే చేస్తున్నాను, దాని చిరునామా, దాని బైట్లు యొక్క చిరునామా.
నేను అంతా నాకు ఉంది చెప్పడం ఆ విలువ నేను వెళుతున్నాను ఏమి ఉంది
నా బాక్స్ అని PK లోపల ఉంచాలి.
మరియు ఈ విషయాలు ఉన్నాయి ఎందుకంటే గమనికలు మరియు చూస్తున్న ఎందుకంటే
సున్నా x వంటి స్ట్రింగ్ వద్ద ఎనిమిది సున్నా సి ఏడు నాలుగు ఎనిమిది
రెండు సున్నా బహుశా చాలా అర్థవంతమైన కాదు.
మేము సాధారణంగా గమనికలు ఊహించడానికి చేసినప్పుడు, మేము నిజానికి గమనికలు వంటి అలా.
PK మాకు సమాచారం ఇస్తుంది మేము మెమరీలో k కనుగొనేందుకు అవసరం.
కాబట్టి ప్రాథమికంగా PK అది ఒక బాణం ఉంది.
మరియు మేము పొడవు నడిచి ఉంటే ఆ బాణం ఊహించే
మీరు నడిచే ఏదో ఉంది, మనం ఉంటే బాణం యొక్క పొడవు వెంట నడిచి,
ఆ బాణం చాలా కొన వద్ద, మేము మెమరీలో స్థానం కనుగొంటారు
ఇక్కడ k నివసిస్తున్నారు.
మరియు ఆ నిజంగా ముఖ్యం k జీవించింది మేము తెలుసు ఎందుకంటే ఒకసారి,
మేము డేటా పని ప్రారంభించవచ్చు ఆ మెమొరీ లోకేషన్ లోపల.
మేము ఒక teeny పొందుతుంటే అయితే ఇప్పుడు ముందుకు మనలోని బిట్.
>> కాబట్టి ఒక పాయింటర్ ఏమిటి?
ఒక పాయింటర్ దీని డేటా అంశం విలువ ఒక మెమరీ చిరునామా ఉంది.
ఆ ఉంది సున్నా x ఎనిమిది సున్నా స్టఫ్ జరగబోతోంది, ఒక మెమరీ చిరునామా ఉంది.
ఆ మెమరీలో స్థానం ఉంది.
మరియు ఒక పాయింటర్ రకం రకం వివరిస్తుంది
డేటా మీరు చూడండి మెమరీ చిరునామా.
కాబట్టి Int స్టార్ భాగం అక్కడే ఉంది.
నేను ఆ బాణం అనుసరించండి, అంతే ఒక స్థానానికి నాకు దారి చెప్పారు.
మరియు ఆ ప్రదేశంలో, నేను నా ఉదాహరణ లో కనుగొంటారు,
ఒక ఆకుపచ్చ రంగు బాక్స్ ఉంది.
ఇది ఆ ఏమి, పూర్ణాంకం నేను నేను ఆ చిరునామాకు వెళ్ళి ఉంటే కనుగొంటారు.
ఒక డేటా రకం పాయింటర్ ఏమి వివరిస్తుంది
మీరు ఆ స్మృతి చిరునామాను వద్ద కనుగొంటారు.
ఇక్కడ అయితే నిజంగా చల్లని విషయం.
గమనికలు మాకు పాస్ అనుమతిస్తుంది విధులు మధ్య వేరియబుల్స్.
మరియు వాస్తవానికి వేరియబుల్స్ పాస్ మరియు వాటిలో కాపీలు పాస్ లేదు.
మేము తెలిస్తే ఎందుకంటే ఖచ్చితంగా మెమరీలో ఒక వేరియబుల్ కనుగొనేందుకు,
మేము ఒక కాపీని అవసరం లేదు అది మనం ఆ స్థానానికి వెళ్ళే
ఆ వేరియబుల్ పని.
సారాంశం గమనికలు కాబట్టి విధమైన ఒక కంప్యూటర్ వాతావరణాన్ని
చాలా నిజమైన ప్రపంచంలో వంటి, కుడి.
>> కాబట్టి ఇక్కడ ఒక సారూప్యత ఉంది.
లెట్ యొక్క నేను ఒక నోట్బుక్ అని చెప్పారు ఆ, కుడి, మరియు స్వరాల పూర్తిగా.
నేను మీరు అది అప్డేట్ కోరుకుంటున్నారో.
మీరు ఒక ఫంక్షన్ అని నవీకరణలను గమనికలు, కుడి.
విధంగా మేము పరిష్కరించగలుగుతున్నాము ఇప్పటివరకు పని ఏమి
మీరు నా నోట్బుక్ పడుతుంది జరుగుతుంది, మీరు కాపీని స్టోర్ వెళ్తాను
మీరు ఒక జిరాక్స్ కాపీని చేస్తాము నోట్బుక్ ప్రతి పేజీ.
మీరు తిరిగి నా నోట్బుక్ చెప్పను నా డెస్క్ మీద మీరు పూర్తి చేసినప్పుడు,
మీరు వెళ్ళి విషయాలను దాటడానికి చేస్తాము నా తేదీ లేదా తప్పు బయటకు ఉన్నాయని నోట్బుక్,
ఆపై మీరు తిరిగి పాస్ చేస్తాము నాకు జిరాక్స్ పేజీల స్టాక్
నా నోట్బుక్ యొక్క ప్రతిబింబంగా తో ఉంది మీరు దానికి చేసిన మార్పులు.
మరియు ఆ సమయంలో, అది నాకు ఇష్టం కాలింగ్ ఫంక్షన్, కాలర్ వంటి,
మీ గమనికలు తీసుకోవాలని నిర్ణయానికి మరియు నా నోట్బుక్ వాటిని తిరిగి ఇంటిగ్రేట్.
కాబట్టి దశలను చాలా ఉంది ఇక్కడ చేరి, కుడి.
ఇలా అది మంచి కాదు నేను చెప్పుకోవాలంటే, హే, మీరు చెయ్యవచ్చు
నా నోట్బుక్ అప్డేట్ నాకు, మీరు నా నోట్బుక్ అప్పగించండి
మరియు మీరు విషయాలు పడుతుంది మరియు వాచ్యంగా వాటిని బయటకు క్రాస్
మరియు నా నోట్బుక్ లో నా గమనికలు అప్డేట్.
ఆపై నాకు నా నోట్బుక్ తిరిగి ఇవ్వాలని.
ఆ రకంగా ఏమి గమనికలు, మాకు అలా అనుమతిస్తాయి
వారు ఈ వాతావరణంలో చాలా తయారు మేము రియాలిటీ లో ఆపరేట్ ఎలా వంటి మరింత.
>> తద్వారా అన్ని కుడి ఏమిటి ఒక పాయింటర్, యొక్క మాట్లాడటానికి వీలు ఉంది
గమనికలు సి లో పని, మరియు ఎలా గురించి ఎలా మేము వారితో పని ప్రారంభించవచ్చు.
కాబట్టి ఒక చాలా సాధారణ పాయింటర్ ఉంది సి లో నల్ పాయింటర్ అని.
ఏమీ నల్ పాయింటర్ పాయింట్లు.
అంతే వంటి ఈ బహుశా తెలుస్తోంది నిజానికి ఒక చాలా ఉపయోగకరంగా విషయం
కానీ మేము ఒక చూస్తారు వంటి తర్వాత కొద్దిగా, నిజానికి
ఈ నల్ పాయింటర్ ఉందని నిజానికి నిజంగా ఉపయోగపడుట చేయవచ్చు.
మరియు మీరు ఒక పాయింటర్ సృష్టించడానికి చేసినప్పుడు, మరియు మీరు దాని విలువ immediately- సెట్ లేదు
సెట్ ఒక ఉదాహరణ దాని విలువ వెంటనే
తిరిగి జంట స్లయిడ్లను ఉంటుంది నేను PK & క్ను సమానం చెప్పబడిన
PK వంటి, k యొక్క చిరునామా గెట్స్ మేము అర్థం ఏమి చూస్తారు
మేము ఆ కోడ్ ఎలా చూస్తారు shortly- మేము ఏదో దాని విలువ సెట్ లేకపోతే
వెంటనే అర్ధవంతమైన మీరు ఎల్లప్పుడూ తప్పక
శూన్యం సూచించడానికి మీ పాయింటర్ సెట్.
మీరు ఏమీ సూచించడానికి సెట్ చేయాలి.
>> కంటే విభిన్నమైనది అది అంతే విలువ వదిలి
ఆపై ఒక ప్రకటించుకున్నారు పాయింటర్ మరియు కేవలం ఊహిస్తూ
ఆ అరుదుగా నిజం ఎందుకంటే అది శూన్య.
మీరు ఎల్లప్పుడూ సెట్ ఉండాలి ఒక పాయింటర్ విలువ
మీరు దాని విలువ సెట్ లేకపోతే శూన్యం వెంటనే అర్ధవంతమైన ఏదో.
మీరు తనిఖీ చేయవచ్చు ఒక పాయింటర్ యొక్క విలువను లేదో సమానత్వం ఆపరేటర్లు ఉపయోగించి శూన్య
(==), కేవలం మీరు ఏ పూర్ణాంక సరిపోల్చండి ఇష్టం విలువలు లేదా వ్యక్తిత్వ విలువలను ఉపయోగించి (==)
అలాగే.
ఇది స్థిరంగా ఒక ప్రత్యేక విధమైన మీరు పరీక్షించడానికి ఉపయోగించే విలువ.
కాబట్టి ఒక చాలా సాధారణ ఉంది పాయింటర్ శూన్య పాయింటర్.
మరో మార్గం సృష్టించడానికి ఒక పాయింటర్ సేకరించేందుకు ఉంది
ఒక వేరియబుల్ చిరునామా మీరు ఇప్పటికే సృష్టిస్తే,
మరియు మీరు & ఈ ఉపయోగించి ఆపరేటర్లు చిరునామా వెలికితీత.
ఇది మేము ఇప్పటికే గతంలో చూసిన మొదటి చిత్రంలో ఉదాహరణలో నేను చూపించాడు.
X మేము చేసిన ఒక వేరియబుల్ చేస్తే ఇప్పటికే రకం పూర్ణాంకం యొక్క రూపొందించినవారు,
ఆపై & x పూర్ణాంకం ఒక పాయింటర్ ఉంది.
& x IS- ఏ, & సేకరించేందుకు మాత్రం గుర్తుంచుకోండి కుడివైపు విషయం యొక్క చిరునామా.
మరియు ఒక పాయింటర్ కేవలం ఒక చిరునామా ఉంది నుండి, కంటే & x పూర్ణాంకం ఒక పాయింటర్ ఉంది
దీని విలువ ఉన్న మెమరీలో x జీవితాలను ఉంది.
ఇది x యొక్క చిరునామా ఉంది.
సో & x x యొక్క చిరునామా.
యొక్క ఈ ఒక అడుగు తీసుకుందాం మరింత మరియు ఏదో కనెక్ట్
నేను ఒక మునుపటి వీడియో లో పేర్కొన్నట్లు.
చేరే సమయం డబుల్స్ ఒక అర్రే అప్పుడు, ఉంటే & చేరే చదరపు బ్రాకెట్ నేను ఒక పాయింటర్ ఉంది
డబుల్.
అలాగే.
నేను ఉంటే చదరపు బ్రాకెట్ చేరే చేరే సమయం, డబుల్స్ వ్యూహం
అప్పుడు నేను చదరపు బ్రాకెట్ చేరే ఆ శ్రేణి యొక్క i- వ మూలకంగా,
మరియు & చదరపు బ్రాకెట్ చేరే సమయం నేను ఎక్కడ ఉంది మెమరీ చేరే నేను-వ మూలకం ఉంది.
>> సో చిక్కుముడి ఇక్కడ ఏముంది?
ఒక శ్రేణుల పేరు, సూత్రప్రాయంగా ఈ మొత్తం విషయం,
వ్యూహం యొక్క పేరు అని ఉంది నిజానికి కూడా ఒక పాయింటర్.
మీరు పని చేసిన అన్ని పాటు గమనికలు
మీరు ఒక అర్రే ఉపయోగిస్తారు చేసిన ప్రతిసారీ.
ఉదాహరణకు నుండి గుర్తు వేరియబుల్ దర్శినిలో,
నేను ప్రస్తుత వీడియో చివరిలో మేము ఒక ఫంక్షన్ కలిగి ఉన్న ఒక ఉదాహరణ
అని సెట్ Int మరియు ఫంక్షన్ సెట్ వ్యూహం అని.
మరియు మీ సవాలు గుర్తించడానికి లేదో, లేదా ఏ
మేము ముద్రించిన ఆ విలువలు ఫంక్షన్ ముగింపు,
ప్రధాన కార్యక్రమం చివరిలో.
>> మీరు ఉదాహరణకు నుండి గుర్తు ఉంటే లేదా మీరు వీడియో చూసిన ఉంటే,
మీరు కాల్ నిన్నూ ఉన్నప్పుడు తెలుసు సెట్ పూర్ణాంకానికి సమర్థవంతంగా ఏమీ లేదు.
అయితే కాల్ శ్రేణి చేస్తుంది సెట్.
నేను విధమైన ఎందుకు పైగా గ్లాస్ద్ ఆ సమయంలో కేసు.
నేను బాగా, అది ఒక అర్రే వార్తలు అన్నారు ప్రత్యేక, మీకు తెలిసిన, ఒక కారణం ఉంది.
కారణం వ్యూహం యొక్క ఉంటుంది పేరు, నిజంగా కేవలం ఒక పాయింటర్ ఉంది
మరియు ఈ ప్రత్యేక ఉంది చదరపు బ్రాకెట్ సింటాక్స్ ఆ
పని విషయాలు చాలా NICER చేస్తుంది.
మరియు వారు ఒక ఆలోచన చేయడానికి చాలా తక్కువ భయపెట్టడం గణితానికి,
వారు విధమైన ఉన్నాము ఎందుకు ఆ ఆ విధంగా సమర్పించారు.
కానీ నిజంగా శ్రేణుల కేవలం గమనికలు ఉన్నాయి.
ఆ ఎందుకు మేము , అర్రే ఒక మార్పు చేసిన
మేము ఒక ప్రామాణికంగా వ్యూహం ప్రవేశపెట్టినప్పుడు ఒక ఫంక్షన్ లేదా ఒక వాదన గా
యెరే యొక్క ఒక ఫంక్షన్, విషయాల వాస్తవానికి రెండు callee లో మార్చబడింది
మరియు కాలర్ లో.
ప్రతి ఇతర రకమైన ఏ మేము చూసిన వేరియబుల్ ఉండదు.
కాబట్టి ఆ ఉంచాలని కేవలం ఏదో మీరు గమనికలు పని చేసినప్పుడు చూసుకొని,
అని ఒక పేరు శ్రేణి అసలైన పాయింటర్
ఆ శ్రేణి యొక్క మొదటి మూలకం.
>> OK కాబట్టి ఇప్పుడు మేము ఈ కలిగి వాస్తవాలు, కుడి, కొనసాగించడాన్ని వీలు.
ఎందుకు మనం శ్రద్ధ లేదు ఇక్కడ ఏదో నివసిస్తున్నారు.
నేను అన్నాడు సరే వలె, ఇది అందంగా అనిపిస్తుంది ఏదో జీవించింది తెలిసిన ఉపయోగకరంగా
కాబట్టి మీరు అక్కడ వెళ్ళి మార్చవచ్చు.
అది పని మరియు నిజానికి విషయం మీకు
ఆ వేరియబుల్ ప్రభావానికి చేయాలనుకుంటున్నారా, మరియు అది కొన్ని కాపీని ప్రభావాన్ని తీసుకోవు.
ఈ dereferencing అంటారు.
మేము సూచన వెళ్లి మేము అక్కడ విలువ మారుతుంది.
మేము ఒక పాయింటర్ కలిగి మరియు ఉంటే ఇది అని PC, మరియు ఇది ఒక పాత్ర చూపాడు,
అప్పుడు మేము * PC మరియు * PC చెప్పగలను మేము వెళ్ళి ఉంటే మేము పొందుతారు ఏమి యొక్క పేరు
చిరునామా శాతానికి.
మనం అక్కడ పొందుతారు ఒక పాత్ర మరియు * PC మేము వద్ద డేటా చూడండి ఎలా ఉంది
నగర.
కాబట్టి మేము వంటి ఏదో చెప్పగల్గినవి * PC = D లేదా అలాంటిదే,
మరియు ఆ అర్థం సంసార , మెమరీ చిరునామా PC వద్ద ఉంది
ఏ పాత్ర గతంలో మేము PC = D * అనవచ్చు ఉంటే అక్కడ, ఇప్పుడు D ఉంది.
>> ఇక్కడ మేము మళ్ళీ వెళ్ళి కొన్ని విచిత్రమైన సి stuff, కుడి.
కాబట్టి మేము గా గతంలో * చూసిన ఏదో డేటా రకం భాగంగా,
మరియు ఇప్పుడు అది ఉపయోగిస్తారు చేయబడిన కొంచెం సందర్భం
ఒక ప్రదేశంలోని డేటా యాక్సెస్.
నేను కొద్దిగా గందరగోళంగా తెలిసిన మరియు వాస్తవానికి ఈ మొత్తం భాగంగా
, ఎందుకు గమనికలు ఈ పురాణాల కలిగి వాటిని చుట్టూ కాబట్టి క్లిష్టమైన గా,
నిజాయితీగా, ఒక సింటాక్స్ సమస్య యొక్క రకం.
కానీ * రెండు సందర్భాల్లో ఉపయోగిస్తారు, రెండు రకం పేరు భాగంగా,
మరియు మేము కొద్దిగా చూస్తారు చాలా తరువాత ఏదో.
మరియు ప్రస్తుతం ఉంది dereference ఆపరేటర్లు.
కాబట్టి ఇది సూచన వెళుతుంది, అది డేటా యాక్సెస్
పాయింటర్ స్థానాన్ని, మరియు మీరు ఇష్టానికి వద్ద సర్దుబాటు అనుమతిస్తుంది.
>> ఇప్పుడు ఈ చాలా పోలి ఉంటుంది మీ పొరుగు సందర్శించడం, కుడి.
మీకు తెలిస్తే మీ పొరుగు మీరు ఉన్నాము, నివసిస్తుంది
మీ పొరుగు సమావేశంలో లేదు.
మీరు ఏమి తెలుసు వారు నివసించే తెలుసు,
కానీ ఆ ద్వారా అర్థం కాదు ఆ జ్ఞానం యొక్క ధర్మం
మీరు వాటిని పరిచయాత్మకంగా.
మీరు వారితో చేయాలనుకుంటే, మీరు వారి ఇంటికి వెళ్ళాలి
మీరు వారు ఎక్కడ నివసిస్తున్నారు వెళ్ళాలి.
మరియు మీరు అలా ఒకసారి, అప్పుడు మీరు వ్యవహరించవచ్చు
వారితో మీకు కావలసిన ఇష్టం.
మరియు అలాగే చరరాశులు తో, మీరు వారి చిరునామాకు వెళ్లాలి
మీరు వాటిని సంకర్షణ అనుకుంటే, మీరు కేవలం చిరునామా తెలియదు.
మరియు మీరు చిరునామాకు వెళ్ళి మార్గం * dereference ఆపరేటర్లు ఉపయోగించడానికి.
మీరు ఏమి ఆలోచిస్తాడు మేము ప్రయత్నించండి మరియు dereference ఉంటే
దీని విలువ ఒక పాయింటర్ శూన్య?
శూన్య గుర్తుచేసుకున్నారు పాయింటర్ ఏమీ చూపాడు.
మీరు ప్రయత్నించండి మరియు dereference చేస్తే ఏమీ ఒక చిరునామా ఏమీ వెళ్ళండి లేదా,
మీరు ఏమి ఆలోచిస్తాడు?
Well మీరు నిమ్మన సెగ్మెంటేషన్ తప్పు, మీరు కుడి భావించాలి.
మీరు ప్రయత్నించండి మరియు dereference ఉంటే ఒక నల్ పాయింటర్,
మీరు సెగ్మెంటేషన్ గురవుతాయి తప్పు. కానీ వేచి,
నేను మీరు చెప్పండి లేదు మీరు వెళుతున్న కాకపోతే
మీ విలువ సెట్ మీ అర్ధవంతమైన ఏదో ఒక పాయింటర్
మీరు శూన్యం సెట్ ఉండాలి?
నేను చదివింది మరియు నిజానికి సెగ్మెంటేషన్ లోపంగా ఒక మంచి ప్రవర్తన యొక్క రకం.
>> మీరు ఎప్పుడైనా ఒక వేరియబుల్ డిక్లేర్డ్ మరియు కలవారు వెంటనే దాని విలువ కేటాయించిన?
సో మీరు కేవలం Int x సే; మీరు చేయలేని వాస్తవానికి ఏదైనా దానిని కేటాయించవచ్చు
మరియు తర్వాత మీ కోడ్ లో, మీరు, x యొక్క విలువ ముద్రించాలా
ఇప్పటికీ కలిగి ఏదైనా దానిని అప్పగించింది.
తరచుగా మీరు పొందుతారు సున్నా, కానీ కొన్నిసార్లు మీరు
కొన్ని యాదృచ్ఛిక సంఖ్యలో పొందండి, మరియు ఉండవచ్చు మీరు ఎక్కడ నుండి వచ్చాయి సంఖ్య ఆలోచన ఉంది.
అదేవిధంగా విషయాలు చెయ్యవచ్చు గమనికలు తో జరిగే.
మీరు ఒక పాయింటర్ డిక్లేర్ చేసినప్పుడు Int * ఉదాహరణకు PK,
మరియు మీరు, ఒక విలువ దానిని కేటాయించి లేదు మీరు మెమరీ కోసం నాలుగు బైట్లు పొందండి.
ఏది నాలుగు బైట్లు వ్యవస్థ మెమరీ చెయ్యవచ్చు
కొన్ని అర్ధవంతమైన విలువ కలిగి కనుగొనవచ్చు.
మరియు కూడా ఉండవచ్చు ఇప్పటికే అక్కడ ఏదో
మరొక అవసరమైన ఇకపై ఫంక్షన్, మీరు కేవలం కాబట్టి
సంసార డేటా ఉంది.
>> ఏం మీరు dereference చేయడానికి ప్రయత్నించాడు ఉంటే మీరు ఉన్నాయి don't- కొన్ని చిరునామా
ఇప్పటికే బైట్లు సమాచారాలను అక్కడ, మీ పాయింటర్ ఇప్పుడు.
మీరు ప్రయత్నించండి ఉంటే మరియు ఆ పాయింటర్ dereference మీరు కొన్ని మెమరీ ఇబ్బందులను ఉండవచ్చు
మీరు ఉద్దేశం లేదని అన్ని ఆడకూడదని.
మరియు నిజానికి మీరు చేయగల నిజంగా వినాశకరమైన ఏదో
వంటి మరొక ప్రోగ్రామ్ బ్రేక్, లేదా మరొక ఫంక్షన్ బ్రేక్
లేదా హానికరమైన ఏదో ఒకటి మీరు అన్ని వద్ద చేయాలని ఉద్దేశ్యము లేదు.
ఎందుకు కాబట్టి ఆ నిజానికి ఒక మంచి ఆలోచన
మీరు ఉంటే శూన్యం మీ గమనికలు సెట్ అర్ధవంతమైన ఏదో వారిని లేదు.
ఇది బహుశా మంచి పని మీ ప్రోగ్రామ్ రోజు చివరిలో
దీన్ని తర్వాత క్రాష్ ఏదో ఆ మరలు అప్
మరొక ప్రోగ్రామ్ లేదా మరొక ఫంక్షన్.
ఆ ప్రవర్తన కూడా బహుశా కేవలం క్రాష్ కంటే తక్కువ ఆదర్శ.
ఎందుకు కాబట్టి ఆ నిజానికి ఒక మంచి అలవాటు
మీ గమనికలు సెట్ పొందడానికి మీరు వాటిని సెట్ లేకపోతే శూన్యం
ఒక అర్ధవంతమైన విలువ మీకు తెలిసిన వెంటనే, క్రింది
మరియు మీరు dereference సురక్షితంగా.
>> కాబట్టి యొక్క ఇప్పుడు తిరిగి రావాలి చూడాల్సిన పరిస్థితి యొక్క మొత్తం సింటాక్స్.
నేను Int * p చెప్పుకోవాలంటే ;, నేను ఏమి చేసారు?
నేను చేసిన ఈ ఉంది.
నేను p విలువ ఒక చిరునామా ఉంది తెలుసు అన్ని గమనికలు కేవలం ఎందుకంటే
చిరునామాలు.
నేను dereference p * ఆపరేటర్లు ఉపయోగించి.
చాలా ఇక్కడ ఈ సందర్భంలో, టాప్ * రకం భాగం గుర్తు.
Int * డేటా రకం.
కానీ నేను dereference చెయ్యవచ్చు * ఆపరేటర్లు ఉపయోగించి p,
మరియు నేను అలా ఉంటే, నేను ఆ చిరునామాకు వెళ్ళి ఉంటే, నేను ఆ చిరునామా వద్ద ఏమి కనుగొంటారు?
నేను ఒక పూర్ణాంకం కనుగొంటారు.
కాబట్టి Int * p రప్పించింది మాట్లాడుతూ, p ఒక చిరునామా ఉంది.
నేను p dereference మరియు ఉంటే నేను, నేను ఒక పూర్ణాంకం కనుగొంటారు
ఆ మెమొరీ లోకేషన్ వద్ద.
>> సరే నేను మరొక లేదని తెలిపారు నక్షత్రాలు తో బాధించే విషయం
మరియు ఇక్కడ పేరు ఆ నక్షత్రాలు తో బాధించే విషయం.
మీరు ఎప్పుడైనా ప్రకటించాలని ప్రయత్నించారు ఒకే రకమైన బహుళ వేరియబుల్స్
కోడ్ యొక్క అదే లైన్ లో?
కాబట్టి రెండవ కోసం, ఆ లైన్ నటిస్తారు నేను నిజానికి ఆకుపచ్చ ఉన్నాయి కోడ్
అక్కడ కాదు మరియు అది కేవలం Int x, y, z చెప్పారు ;.
ఏం అలా నిజంగా సృష్టించడానికి ఉంది మీరు మూడు పూర్ణాంక వేరియబుల్,
ఒకటి అని x, అని ఒక y, మరియు ఒక z అని.
అది లేకుండా దీన్ని ఒక మార్గం మూడు లైన్లలో విడిపోయినట్లు కలిగి.
>> నక్షత్రాలు చోటే ఇక్కడ అయితే మళ్ళీ బాధించే,
* వాస్తవానికి భాగం ఎందుకంటే రెండు రకం పేరు మరియు భాగంగా
వేరియబుల్ పేరు.
కాబట్టి నేను చెప్పుకోవాలంటే Int * px, PY, PZ, నేను నిజంగా పొందండి పూర్ణాంకం ఒక పాయింటర్ ఉంది
px మరియు రెండు పూర్ణాంకాల, PY మరియు PZ అని.
మరియు ఆ బహుశా లేదు ఏమిటి మేము మంచి కాదు, మీరు.
>> నేను బహుళ గమనికలు సృష్టించడానికి కావాలా సో అదే లైన్ లో, ఒకే రకమైన,
నేను నిజానికి అవసరం ఏమిటి మరియు నక్షత్రాలు, అలా * పీబీ, * శాతం, Int * pa చెప్పాలి.
ఇప్పుడు కేవలం ఆ చెప్పాడు మరియు ఇప్పుడు, మీరు ఈ చెప్పడం
మీరు బహుశా దీన్ని ఎప్పటికీ.
మరియు అది, నిజాయితీగా బహుశా ఒక మంచి విషయం మీరు అనుకోకుండా కావచ్చు ఎందుకంటే
ఒక స్టార్, అలాంటిదే వదిలేస్తారు.
ఇది బహుశా ప్రకటించాలని బహుశా ఉత్తమ అనిపిస్తుంది వ్యక్తిగత పంక్తులు గమనికలు,
కానీ అది కేవలం మరొక ఒకటి ఆ బాధించే సింటెక్స్
చేసే నక్షత్రాలు తో విషయాలు పని చాలా కష్టం గమనికలు.
ఇది కేవలం ఈ వాక్యనిర్మాణ ఎందుకంటే మెస్ మీరు ద్వారా పని ఉంటుంది.
సాధన తో అది నిజంగా రెండవ ప్రకృతి అవుతుంది.
నేను ఇప్పటికీ అది పొరపాట్లను చేస్తాయి 10 సంవత్సరాలు ప్రోగ్రామింగ్ తర్వాత,
ఏదో జరిగితే కనుక అసంతృప్తి వ్యక్తం లేదు ఇది, మీరు ఒక్క అందంగా సాధారణ వార్తలు.
ఇది రకమైన నిజంగా సింటెక్స్ ఒక దోషం.
>> OK కాబట్టి నేను రకమైన వాగ్దానం మేము సందర్శించండి అని
ఎలా పెద్ద భావన ఒక స్ట్రింగ్.
సరే నేను ఒక మీరు చెప్పారు ఉంటే స్ట్రింగ్, మేము రకమైన నిజంగా చేసిన
మీరు మొత్తం సమయం అబద్ధం జరిగింది.
పిలుపువచ్చింది డేటా రకం ఉంది స్ట్రింగ్, మరియు నిజానికి నేను
ఒకటి ఈ పేర్కొన్నారు మా డేటా రకాల ప్రారంభ వీడియోలు,
ఆ స్ట్రింగ్ ఒక డేటా రకం అని cs50.h. లో మీ కోసం సృష్టించబడింది
మీరు # చేర్చాలనుకుంటే కలిగి ఇది ఉపయోగించడానికి క్రమంలో cs50.h.
>> మంచి స్ట్రింగ్ కేవలం నిజంగా ఏదో ఒక అలియాస్
, చార్ * అనే ఒక పాత్ర పాయింటర్.
బాగా గమనికలు, రీకాల్, కేవలం చిరునామాలు.
కాబట్టి పరిమాణం ఏమిటి ఒక స్ట్రింగ్ యొక్క బైట్లు?
బాగా నాలుగు లేదా ఎనిమిది.
మరియు నేను కారణం నాలుగు లేదా ఎనిమిది ఎందుకంటే నిజానికి
మీరు ఉపయోగిస్తున్నట్లయితే, వ్యవస్థ మీద ఆధారపడి ఉంటుంది CS50 ide, చార్ * ఒక చార్ యొక్క పరిమాణం
* ఇది ఒక 64-bit వ్యవస్థ, ఎనిమిది ఉంది.
మెమరీలో ప్రతి చిరునామా 64 బిట్స్ పొడవుగా ఉంది.
మీరు CS50 ఉపకరణం ఉపయోగించి ఉంటే లేదా ఏ 32-bit మిషన్ ఉపయోగించి,
మరియు మీరు ఆ పదం 32-బిట్ విన్న చేసిన యంత్రం, ఒక 32-bit మిషన్ ఏమిటి?
బాగా కేవలం ప్రతి అర్థం మెమరీలో చిరునామా 32 బిట్స్ పొడవుగా ఉంది.
కాబట్టి 32 బిట్స్ నాలుగు బైట్లు.
సో ఒక చార్ * నాలుగు లేదా ఎనిమిది మీ సిస్టం మీద ఆధారపడి బైట్లు.
నిజానికి ఏ డేటా రకాలు, మరియు ఏ డేటా ఒక పాయింటర్
అన్ని గమనికలు కేవలం ఎందుకంటే, టైప్ చిరునామాలు, నాలుగు లేదా ఎనిమిది బైట్లు ఉంటాయి.
కాబట్టి యొక్క ఈ సందర్శించండి వీలు రేఖాచిత్రం మరియు యొక్క నిర్ధారించారు వీలు
ఇక్కడ కొద్దిగా వ్యాయామం ఈ వీడియో.
ఇక్కడ మేము వదిలి రేఖాచిత్రం వార్తలు వీడియో చాలా ప్రారంభంలో.
నేను * PK = 35 చెప్పే చేస్తే ఇప్పుడు ఏమి జరుగుతుంది?
కనుక ఇది * PK = 35, నేను చెప్పినప్పుడు అర్థం ఏమిటి?
రెండవ తీసుకోండి.
* PK.
ఇక్కడ సందర్భం లో, * ఉంది dereference ఆపరేటర్లు.
సో ఉన్నప్పుడు dereference ఆపరేటర్లు, ఉపయోగిస్తారు
చిరునామాకు చూపారు మేము వెళ్ళి PK ద్వారా, మరియు మేము కనుగొనగలిగితే ఏమి మార్చడానికి.
కాబట్టి * PK = 35 సమర్థవంతంగా చిత్రాన్ని ఈ చేస్తుంది.
కనుక ఇది పదము ప్రాథమికంగా యొక్క ఒకేలా k = 35 చెప్పాడు.
>> ఇంకొకటి.
నేను Int m చెబితే, నేను సృష్టించడానికి m అనే కొత్త వేరియబుల్.
ఒక కొత్త బాక్స్, ఇది ఒక ఆకుపచ్చ బాక్స్ ఎందుకంటే అది ఒక పూర్ణాంకం పట్టుకోండి జరగబోతోంది,
మరియు అది m లేబుల్.
నేను చి = 4 చెబితే, నేను ఒక చాలు ఆ పెట్టెలో పూర్ణాంక.
సే PK = & M, ఎలా చేస్తుందో లేదో ఈ చిత్రంలో మార్పు?
PK = & M, మీరు ఏమి గుర్తు లేదు & ఆపరేటర్లు చేస్తుంది లేదా అంటారు?
ఆ & కొన్ని వేరియబుల్ పేరు గుర్తుంచుకో ఒక వేరియబుల్ పేరు చిరునామా.
కాబట్టి మనం చెబుతున్న ఉంది PK మీటర్ల చిరునామా గెట్స్.
మరియు అది ప్రభావవంతంగా ఏమి జరుగుతుంది రేఖాచిత్రం ఇకపై పాయింట్లు PK ఉంది
m, కానీ పాయింట్లు k కు.
>> మళ్ళీ గమనికలు చాలా ఉన్నాయి పని గమ్మత్తైన
మరియు వారు చాలా పడుతుంది ఆచరణలో, కానీ ఎందుకంటే
మీరు అనుమతిస్తాయి వారి సామర్ధ్యం విధులు మధ్య డేటా పాస్
మరియు వాస్తవానికి ఆ కలిగి మార్పులు ప్రభావం పడుతుంది,
చుట్టూ మీ తల పొందడానికి నిజంగా ముఖ్యం.
ఇది బహుశా అత్యంత సంక్లిష్టమైనది మేము CS50 లో చర్చించడానికి టాపిక్
కానీ విలువ మీరు గమనికలు ఉపయోగించి నుండి పొందండి
ఇప్పటివరకు ఉపద్రవాలు అధిగమిస్తుంది ఆ వాటిని తెలుసుకున్న నుండి వస్తాయి.
నేను మీరు ఉత్తమ అనుకుంటున్నారా అదృష్టం గమనికలు గురించి నేర్చుకోవడం.
నేను డౌ లాయిడ్ ఉన్నాను, ఈ CS50 ఉంది.