[সঙ্গীত বাজাচ্ছি] DAVID Malan: ঠিক আছে. এটি CS50, এবং এই 2 সপ্তাহ শেষে হয়. আমি হতে পারে না তাই দুঃখিত নই সেখানে সব আজ আপনার সাথে, কিন্তু আপনি খুব ভাল হাতে করছি. আমার পরিচয় করিয়ে দিতে অনুমতি CS50 এর নিজস্ব রব বাউডেন. ছিনিয়ে বাউডেন: এবং অবশ্যই, তারপর আমরা আসলে মজা করা আছে তিনি আমাদের একটি উল্লম্ব পাঠিয়েছেন ভিডিও এবং এই ব্যাখ্যা. [ভিডিও প্লেব্যাক] [সঙ্গীত বাজাচ্ছি] [পদানুসারে] -এই ভিডিও না এই পথ সন্ধান করতে হবে. এটা প্রতিরোধ করা যেত. কোন উল্লম্ব ভিডিও বলুন. -উল্লম্ব ভিডিও যখন আপনি ঘটতে আপনার ক্যামেরা কুপথ রাখা. তোমার ভিডিও শেষ হবে আপ বিষ্ঠা মত খুঁজছেন. - [ঘোঁৎ ঘোঁৎ] আসক্ত আরো এবং আরো মানুষ -আছে আছে প্রতিদিন উল্লম্ব ভিডিও উপার্জন করতে. এটি ফাটল বা কিছুই না, কিন্তু এটি এখনও খুব খারাপ. দু ধরণের আছে ভিভিএস সঙ্গে নিপীড়িত হয় যারা মানুষ. প্রথম গ্রুপ একইরূপে ভিডিও তারা ছবি মত অঙ্কুর. তারা কোন ক্ষতি হতে দিবে না. তারা শুধু যে বুঝতে না আপনি একটি ছবি চালু করতে পারেন যখন, আপনি কি সত্যিই একটি ভিডিও চালু করতে পারবেন না. [ক্র্যাশ] - [বানর শব্দ] -বাছাইযোগ্য অন্যান্য দলের মানুষ হয় যারা একটি [বেতারসঙ্কেত] দিতে হবে না. -উল্লম্ব ভিডিও সিন্ড্রোম বিপজ্জনক. মোশন পিকচার্স আছে সবসময় অনুভূমিক হয়েছে. টেলিভিশন অনুভূমিক হয়. কম্পিউটার স্ক্রিনে অনুভূমিক হয়. মানুষজনের অনুভূমিক হয়. আমরা নির্মিত না হয় উল্লম্ব ভিডিওগুলি. -আমি উল্লম্ব ভিডিও ভালবাসেন. -Nobody আপনি বজায় রাখে. -যদি এই সমস্যা অবারিত, আপনি খুব বাম চার ভিডিও প্রদর্শন শুরু করবে একবারে শুধু ব্যান্ডউইথ সংরক্ষণ করার. -Letterboxed উল্লম্ব ভিডিও would একটি ডাকটিকিট মাপ হতে. -এবং এটা সর্বত্র ছড়িয়ে দিতে হবে. সিনেমা পর্দা আছে সবসময় অনুভূমিক হয়েছে. উল্লম্ব ভিডিও হয়ে যদি গৃহীত, সিনেমা ও থিয়েটার লম্বা এবং চর্মসার হতে থাকবে. -এবং সিনেমা ও থিয়েটার সব would নিচে টুটা এবং পুনর্নির্মিত পেতে আছে. এবং সময় দ্বারা তারা পুনর্নির্মিত হয়, Mila Kunis বৃদ্ধা ও কুৎসিত হতে হবে. -Birds সেগুলি বিপর্যস্ত এবং মারা হবে. -We'll অনমনীয় সব পেতে তাকিয়ে থেকে গর্দানে. -এবং কেউ বসতে হবে সামনের সারিতে আবার কখনও. -জর্জ লুকাস পুনরায় রিলিজ হবে রাশি যুদ্ধ চর্মসার সংস্করণ again--. -আমি বলতে সত্যিই সক্ষম ছিল না আমি বলতে চেয়েছি গল্প. এই আমার জন্য একটি বড় সুযোগ ছিল একটি নতুন প্রযুক্তি নিয়ে পরীক্ষা. একটি হেঁচকা -আপনি. একটি মোবাইল ডিভাইসে ব্যবহার করা হয় -প্রতিটি সময় ভিডিও রেকর্ড, প্রলোভন আছে. শুধু না বল. জর্জ লুকাস কোন বলুন. পুরানো Mila Kunis কোন বলুন. কোন উল্লম্ব ভিডিও বলুন. যদি আপনি কাউকে এরকম দেখতে হলে -এবং, বলে "আপনি যে অধিকার ডামি শুটিং করছি না!" [সঙ্গীত বাজাচ্ছি] [END টি প্লেব্যাক] [সাধুবাদ] [অডিও আউট] ছিনিয়ে বাউডেন: সরল ক্রিপ্টোগ্রাফি আকারে, যা মূলত এনক্রিপশন হয় গোপন বার্তার ও ডিক্রিপশন. তাই আমরা এখানে একটি খুব সহজ খেলনা আছে. আর ধারণা বাইরের রিং হয় ভেতরের রিং কাছাকাছি rotates. আর আপনি আমি জুম হয়তো তাহলে, দেখতে পারেন , এটা দেখতে কঠিন কিন্তু যে. কিন্তু, মত, সংখ্যা 1 টি ভাল, যে সরানো. সংখ্যা 1 চিঠি মানচিত্র চিঠি এক্স, সংখ্যা 2 মানচিত্র জে অনুমোদিত অবিশ্বাস্যভাবে এগিয়ে লাফালাফি না. পত্র 2 জে মানচিত্র সংখ্যা 3 সুতরাং ডি মানচিত্র এই রিং সঙ্গে আপনি দিতে পারেন কেউ একটি বার্তা 1, 2, 3. কিছু কারণে আপনার জন্য তাদের XJD কিছু জানাতে চাই. কিন্তু আপনি তাদের দিতে পারেন সংখ্যার কিছু বার্তা, এবং তারা এই রিং আছে যতদিন, তারা আপনি যা বলার চেষ্টা করছেন কি ডিক্রিপ্ট করতে পারেন. সুতরাং আপনি দেখে থাকবেন এই ক্রিপ্টোগ্রাফি বিশেষ উদাহরণ আগে ক্রিসমাস সিজনের প্রায় যদি আপনি একটি ক্রিসমাস গল্প দেখেছেন করেছি. আপনি দেখেননি থাকেন তাহলে এটা আগে, তারপর শুধু আক্ষরিক এ TBS উপর চালু বড়োদিনের আগের দিন যে কোনো সময়, তারা শুধু ফিরে ফিরে এটা দেখাতে কারণ সমগ্র দিনের ব্যাক ব্যাক ব্যাক. এবং প্রাসঙ্গিক ভিডিও এই হল. [ভিডিও প্লেব্যাক] এটা সব এবং কতিপয় পরিচিত হবু রালফ পার্কার এতদ্দ্বারা যে লিটল একজন সদস্য নিয়োগ অনাথ অ্যানি গোপন বৃত্ত এবং সব সন্মান প্রাপ্ত করার উদ্দেশ্যে এনটাইটেল করা হয় এবং বেনিফিট তত্প্রতি ঘটছে. লিটল অনাথ অ্যানি স্বাক্ষর করেন. কালিতে পিয়ের আন্দ্রে প্রতিস্বাক্ষরিত! সম্মান ও সুবিধা ইতিমধ্যে নয় বছর বয়সে! [রেডিও থেকে yelling] -চলে আসো. এর সাথে পেতে চলুন শুরু করা যাক. আমি সব যে জ্যাজ প্রয়োজন হবে না চোরাকারবারী ও জলদস্যু সম্পর্কে. সঙ্গে শুনুন আগামীকাল রাত আখেরী সাহসিক কালো জলদস্যু জাহাজের. এখন, এটা জন্য সময় অ্যানি এর গোপন বার্তা গোপন বৃত্ত আপনাকে সদস্যদের জন্য. বাচ্চাদের, শুধুমাত্র সদস্যদের মনে রেখো অ্যানি এর গোপন বৃত্ত এর অ্যানি এর গোপন বার্তা ডিকোড করতে পারে. মনে রাখবেন, অ্যানি আপনার উপর নির্ভর করে না. B2 আপনার পিন সেট করুন. এখানে বার্তা. 12. 11. 2. -আমি আমার প্রথম গোপন বৈঠকে am. -25. 14. 11. 18. 16. -ওহ, পিয়ের উদাত্ত আজ রাতে. আমি যে আজ রাতে বলতে পারে বার্তা ছিল সত্যিই গুরুত্বপূর্ণ. -3. 25. যে অ্যানি নিজেকে থেকে একটি বার্তা. কেউ বলতে না, মনে রাখবেন. -পাঁচ সেকেন্ড পরে, আমি শুধুমাত্র আছি বাড়িতে রুম যেখানে নয়টি একটি ছেলে গোপনীয়তা এবং ডিকোড বসতে পারে. অই! বি! আমি পরের গিয়েছিলাম. ই প্রথম শব্দ "হিসেবে." হয় এস এটা এখন সহজ আসছিলেন. ইউ 25. যে আর এর এসো উপর, Ralphie! আমাকে যেতে হবে! এক্ষুনি -I'll, মা! ফার্গুসন. কি নিশ্চিত করা - টি মন্ত্রণালয় "করতে ভুলবেন না"? লিটল অনাথ কী ছিল অ্যানি বলার চেষ্টা করছেন? কি করতে ভুলবেন না? -Randy যেতে না করেনি! আপনি খসা দয়া হবে? -সমস্ত অধিকার, মা! আমি ডান আউট হবেন! আমি কাছাকাছি এখন পেয়ে ছিল. টান ভয়ানক ছিল. এটা কি ছিল? গ্রহের ভাগ্য অনিশ্চয়তার মধ্যে থাকা হতে পারে! -Ralphie, রান্ডি এর যেতে পেয়েছিলাম! উচ্চ স্বরে কাঁদতে জন্য, ডান আউট হতে -I'll! প্রায় সেখানে! আমার আঙ্গুলের আসেন. আমার মনের একটি ইস্পাত ফাঁদ ছিল. প্রতিটি লোমকূপ আন্দোলিত. এটা প্রায় পরিষ্কার দেখা গিয়েছে! হ্যাঁ. হ্যাঁ. হ্যাঁ. হ্যাঁ. আপনার Ovaltine পান করতে ভুলবেন না. Ovaltine? একটি নোংরা বাণিজ্যিক? কুত্তার বাচ্চা. [END টি প্লেব্যাক] ছিনিয়ে বাউডেন: সুতরাং যে কিভাবে Ovaltine ক্রিপ্টোগ্রাফি সাথে সম্পর্কিত. মূলত, CS50 শুধু বিজ্ঞাপনে Ovaltine, তাই আমরা পারা Ovaltine জন্য একটি অপ্রীতিকর বাণিজ্যিক হতে. ঠিক আছে. তাই এখন প্রকৃত কম্পিউটার বিজ্ঞান. সোমবার মনে রাখবেন আমরা বাম বন্ধ স্ট্রিং মধ্যে গভীর ডাইভিং. সুতরাং আমরা সাথে ডিল করা হয়েছে স্ট্রিং ", Zamyla." আর আমরা স্বীকৃতি ছিল আমরা বিবেচনা করতে পারেন যে অক্ষরের একটা ক্রম হিসাবে ", Zamyla". আমরা শিখেছি যে মনে বন্ধনী স্বরলিপি. এই স্টোর করা থাকে তাই তারপর একটি স্ট্রিং "এর," আমরা যদি না বলেন, গুলি বন্ধনী 0, যে would অক্ষর বড় হাতের জেড নির্দেশ আমরা গুলি বন্ধনী 1, বলেন যে যদি প্রথম ছোট আকারের একটি নির্দেশ করবে, এবং তাই এর বন্ধনী 5 পর্যন্ত, যা সর্বশেষ একটি নির্দেশ করবে. এখন মনে রাখবেন এই স্ট্রিং এর দৈর্ঘ্য, 6 কিন্তু স্ট্রিং মধ্যে সূচকগুলি হয় 0 5 মাধ্যমে, যে মাধ্যমে Z একটি স্থায়ী. সুতরাং এখন এই একটি বড় ছবি মধ্যে ফিট আপনার কম্পিউটার এর মেমরি, আপনার RAM- র. তাই কোথাও প্রোগ্রাম যে আপনি আপনার কম্পিউটার চালাচ্ছেন মনে রাখা প্রয়োজন, Zamyla কোথাও মেমরি. তাই আমি একটি স্বেচ্ছাসেবক থাকতে পারে? হ্যাঁ. এবং তোমার নাম কি? DEAN: ডিন. ছিনিয়ে বাউডেন: ডিন? ডিন দেখা হওয়ায় খুশী হলাম. তাই এখানে আসা, এবং আমরা আঁকা আছে চলুন আমাদের মেমরি চমৎকার ছিমছাম বহির্বিন্যাস. এখন আমি মেমরির চিন্তা করতে চান বাইট এক দীর্ঘ ফালা হিসাবে, কিন্তু শুধু প্রদর্শনের উদ্দেশ্যে আমরা করব শুধু নিচ থেকে উপরের ডানে বামে না. ঠিক আছে? তাই আমি একটি দেখাতে যাচ্ছি Getstrings.c প্রোগ্রামটিতে. আর তাই এই সব প্রোগ্রাম করছেন চার পংক্তি চাইছে সঙ্গে ব্যবহারকারীর থেকে GetString এবং তারপর মুদ্রণ যাই হোক না কেন যে প্রথম পংক্তি প্রবেশ করানো হয়েছিল. আমরা চার মাধ্যমে দুটি উপেক্ষা করছি. ঠিক আছে. তাই এখানে এখন আমি যখন আমি প্রথম অনুরোধ S1. তাই আপনি যদি কম্পিউটার হয়. আর আপনি GetString বাস্তবায়ন করছে. তাই আপনি যদি একটি স্ট্রিং থেকে অনুরোধ আমার, এবং আমি ঠিক আছে, ডিন বলে. স্ট্রিং দিন "ডীন." তাই কোথাও মেমরি আপনি মনে রাখা প্রয়োজন "ডীন." তাই কোথাও মেমরি সেটিকে লিখুন. পারফেক্ট. ঠিক আছে. তাই এখন আমরা S2 আছে. এবং S2 হতে যাচ্ছে GetString, একটি অনুরোধ. তাই আমি একটি পংক্তি লিখুন যাচ্ছি. আমি লিখতে যাচ্ছি "হানা." তাই কোথাও মেমরিতে "হানা" লিখুন. হ্যা. একটি-এইচ. ঠিক আছে, তাই এখন S3. এবং এটি অন্য হতে যাচ্ছে GetString যাও অনুরোধ. আর তাই এখন "মারিয়া." লিখতে ঠিক আছে. এবং তারপর এক শেষ নেই GetString যাও অনুরোধ, S4. সুতরাং, আমি জানি না. কিভাবে আমরা সাথে যেতে সম্পর্কে antidisestablishmentarianism. সুতরাং যে মেমরিতে লিখতে. হ্যা. তাই শুধু "রব." না ঠিক আছে. কেন তাই এখন explain-- আপনি এই স্পেস ছেড়ে? আপনি এই ফাঁকা আছে কেন এখানে, এখানে, এবং এখানে স্থান? হ্যাঁ. আমি যেতে সুতরাং যখন বিজ্ঞপ্তি যদি তাই s1-- প্রিন্ট করতে ছিল "হানা" চলমান ডান আপ পরবর্তী "ডীন" আমরা যখন জানি না কিভাবে স্ট্রিং "ডীন" শেষ? তাই স্ট্রিং S1 মুদ্রণ থাকতে পারে শুধু "DeanHannahMariaRob" মুদ্রিত এটা কোনো খেই না থাকলে "ডীন" আসলে শেষ কয়েক যখন. ঠিক আছে. তাই মেমরি উপায় আমরা আসলে একটি স্ট্রিং এর এই শেষ প্রতিনিধিত্ব ব্যাকস্ল্যাশ শূন্য দিয়ে হয়. তাই এই স্থান আমরা চেয়েছিলেন ঠিক কি. এটি একটি ব্যাকস্ল্যাশ শূন্য হওয়া উচিত. এটি একটি ব্যাকস্ল্যাশ শূন্য হতে হবে এবং এই একটি ব্যাকস্ল্যাশ শূন্য হবে. এবং আপনি একটি কল্পিত পুরস্কার থাকতে পারে একটি নিখুঁত স্বেচ্ছাসেবক হচ্ছে. একটি চাপ বল নিন! ঠিক আছে. তাই এই চরিত্র ব্যাকস্ল্যাশ শূন্য হয় কিভাবে আমরা একটি স্ট্রিং এর শেষে ইঙ্গিত. এটা কিভাবে যখন কোনো প্রোগ্রাম একটি স্ট্রিং প্রিন্ট করতে চায়, আমরা শিখেছি স্মরন how-- এটা strlen ফাংশন গত সপ্তাহে? স্ট্রিং দৈর্ঘ্য? এটা স্ট্রিং দৈর্ঘ্য করতে সক্ষম হয় কিভাবে একটি স্ট্রিং কতদিন নির্ধারণ. এটা শুধু iterating রাখে অক্ষর ওভার এটা খুঁজে বের করে যতক্ষণ শূন্য চরিত্র ব্যাকস্ল্যাশ. গুরুত্বপূর্ণ বিষয় বুঝতে তাই ব্যাকস্ল্যাশ শূন্য চরিত্র সম্পর্কে এটা প্রতিনিধিত্ব করা হয় বিট সব শূন্য. তাই এই স্বতন্ত্র যে লক্ষ্য শূন্য চরিত্র থেকে. তাই শূন্য চরিত্র, যদি আপনি মনে রাখবেন উদাহরণস্বরূপ তিনি শেষে দিয়েছেন বক্তৃতা অক্ষর মানচিত্র যেখানে 65 রাজধানী একটি ম্যাপের মত চাচ্ছি. 97 একটি মানচিত্র ছোট হাতের অক্ষর. ছোট হাতের বি 98 হবে. সুতরাং সংখ্যা 0 মানচিত্র আমি না চাচ্ছি আমার মাথার উপরে বন্ধ জানেন. 44 বা 45. যে কোন অঞ্চলের কোথাও. তাই চরিত্র 0 একটি প্রকৃত সংখ্যা. কিন্তু ব্যাকস্ল্যাশ শূন্য সব শূন্য বিট মানচিত্র. সুতরাং একটি পার্থক্য আছে ব্যাকস্ল্যাশ শূন্য মধ্যে, যা আমরা নাল টারমিনেটর ডাকবো. একটি পার্থক্য মধ্যে আছে ব্যাকস্ল্যাশ শূন্য এবং চরিত্র শূন্য. ঠিক আছে. তাই স্ট্রিং সম্পর্কে আরো একটু কথা বলা. তখন আমরা কোথা থেকে এখানে দেখুন এটি মেমরি পরিপূর্ণ হবে. তাই একটা ক্রম হিসাবে স্ট্রিং এই ধারণা characters-- অফিসিয়াল কম্পিউটার তাই ক্রম জন্য sciency শব্দটি একটি অ্যারে. সুতরাং আমরা একটি স্ট্রিং কল করবে অক্ষরের একটি অ্যারের. এবং আসলে অন্যান্য তথ্য আছে আমরা বাইরে অ্যারে করতে পারেন যে ধরনের. সুতরাং এই অনুপ্রাণিত করার জন্য, একটি উদাহরণ তাকান. আমরা আমি করব ages0.c ডাকবো কপি এবং আমাদের ফর্মা পেস্ট করুন. ঠিক আছে. এই প্রোগ্রাম তাই আমরা কাজ করতে চান বয়স দখল হয় কোর্সে তিন শিক্ষার্থীদের. সুতরাং আমরা জানি কোন int age-- এবং এখন আমি 0 বলতে যাচ্ছি. সুতরাং আপনি age1 বলতে চাই, কিন্তু পারে উদ্দেশ্যে আমরা খুব শীঘ্রই দেখতে পাবেন, আমি int age0 GetInt সমান বলবো. GetInt একই কল তাই আমরা আমি ব্যবহার করছি যে প্ররোচনা করা ঘটবে না "আমার বয়স দিতে.", বলার অপেক্ষা রাখে না কিন্তু এটা কি ঠিক অনুরোধ. আর age1 GetInt সমান. এবং int age2 GetInt সমান. সুতরাং, আবার তিন ছাত্র, কিন্তু পরিণামে পরিবর্তনশীল সূচকের age2 মাধ্যমে age0 হয়. ঠিক আছে. তাই এই প্রোগ্রাম করতে হবে যাই হোক না কেন আমরা age0, age1, এবং age2 সঙ্গে চান, কিন্তু এই প্রোগ্রাম শেষ পর্যন্ত তিনটি ছাত্রদের জন্য কাজ করে. ঠিক আছে. তাই এখন আমি চার ছাত্র চান তাহলে কি? ওয়েল, আমি ফিরে যেতে হবে যাচ্ছি আমার কোড মধ্যে, মন্তব্য, পরিবর্তন এবং এখন আমরা একটি int আছে age3 GetInt সমান. ঠিক আছে. সুতরাং যারা এখানে সমস্যা দেখেন? সমস্যাটা কি সেটআপ এই সাজানোর সঙ্গে? হ্যা. হ্যা. সুতরাং আমরা একটি তৈরি করছি প্রত্যেক শিক্ষার্থীর জন্য পরিবর্তনশীল. এখন যে কাজ করে, কিন্তু পরিণামে কি এখন আমি যদি আমি বয়স দখল করতে চান ", বলে আট ছাত্র বা 16 ছাত্র বা যাইহোক অনেক ছাত্র CS50 মধ্যে শত শত ছাত্র অথবা ক্যাম্পাস ছাত্র হাজার হাজার বা বিশ্বের কোটি কোটি মানুষের? তাই শেষ পর্যন্ত এই টেকসই নয়. আপনি নিজেকে কপি দেখতে কোন সময় এবং এই মত পেস্ট কোড, আপনি সাধারণত মনে করা উচিত একটি ভাল উপায় নেই যে. আমরা পরিচয় করিয়ে তাই এই হল যেখানে একটি অ্যারের ঘোষণা. তাই আপনি যদি একটি অ্যারে ডিক্লেয়ার যখন, এই কি সাধারণ ফরম্যাট অনুরূপ যাচ্ছে. আমরা টাইপ বলে যাচ্ছেন. এবং তারপর আমরা চলুন যে অ্যারে নাম দিতে, শুধু আমরা কোনো ভেরিয়েবল নির্ধারণ করতে পারবেন. এবং পরিশেষে আমরা ব্যবহার করছেন এই বন্ধনী নোটেশন আবার কিন্তু থেকে একটি ভিন্ন প্রেক্ষাপটে কিভাবে আমরা আগে এটা ব্যবহার করা হয়েছে. সুতরাং এখানে এই একটি স্বাভাবিক মনে হচ্ছে আমরা দেখা করেছি যে পরিবর্তনশীল ঘোষণা. সুতরাং আমরা আগে int x এর সেমিকোলন দেখা করেছি. অবশ্য, এখন আমরা কিছু দেখতে হতে পারে int x এর বন্ধনী 5 মত. আর এই ধারণা নির্বাণ আমরা থাকতে যে GetInt প্রোগ্রাম তাই আমরা বাস্তবায়ন করতে পারেন একই ভাবে এই. আসুন আমরা ব্যবহারের প্রবণতা সি এস এ বলা যাক কিছু সংখ্যা হিসাবে এন. তাই আমরা এখানে চলুন চার ছাত্র সংরক্ষণ. আর এখন আমরা int বয়স বলতে পারেন বন্ধনী বেশ এটি yet-- পেতে n-- চার শিক্ষার্থীদের একটি অ্যারে ডিক্লেয়ার করতে. সুতরাং এই দেখবে কিভাবে মেমরি এই অনুরূপ হতে হবে. এই স্পষ্ট. আর আমরা কোথাও আছে চলুন মেমরি মধ্যে আমি সেখানে এই পর্যন্ত করা হবে. তাই কোথাও মেমরি. এক দুই তিন চার. আমরা একটি সারিতে চারটি ইন্টিজার আছে চার পূর্ণসংখ্যার এই অ্যারের জন্য. সুতরাং, বর্তমানে, কি এই বাক্সে এক মাপ? হ্যা. এটা চার বাইট এর. এটা 32 বিট. তাই এখন এই ভিন্ন অ্যারে থেকে যে আমরা অক্ষরের আগে, অ্যারের দেখলেন. একটি স্ট্রিং প্রতিটি বাক্স, শুধুমাত্র এক বাইট ছিল একটি অক্ষর শুধুমাত্র এক বাইট কারণ. কিন্তু পূর্ণসংখ্যার একটি অ্যারের সাথে, প্রতিটি বক্স যাতে চার বাইট করা হয়েছে একটি সম্পূর্ণ পূর্ণসংখ্যা মাপসই. তাই এই কি একটি অ্যারের চার, ints মত দেখাবে. এবং তারপর ফিরে কোড. এখন আমরা আসলে সঞ্চয় করতে চান যে অ্যারের মধ্যে পূর্ণসংখ্যার. তাই এখন এই একটি খুব, খুব, খুব হয় কিছু সময়ে যে অভিন্ন প্যাটার্ন পেশী মেমরির হয়ে. তাই আমি 0 সমান int-. আমি এন কম. আমি প্লাস প্লাস. বয়স বন্ধনী আমি GetInt সমান. তাই এই লুপ জন্য, এই বিন্যাসে, আপনি খুব ব্যবহার করতে হবে. তাই এই সাধারণত হয় কিভাবে আমরা আমাদের কাজ করি প্রায় কোনো অ্যারের পুনরুক্তি. এখন এই সাজানোর লক্ষ্য শুরু থেকে ব্যাখ্যা দিয়েছে কেন আমরা loops int জন্য যাওয়ার জন্য আছে না আমি কম বা 10 সমান, 1 সমান. থেকে শুরু হচ্ছে যে কারণে শূন্য অ্যারে সঙ্গে এই কাজ করে তোলে. সুতরাং অ্যারে সূচীবদ্ধ শূন্য হয়. এই অ্যারের দৈর্ঘ্য 4 থেকে হয়ে থাকে, সূচকের 3 মাধ্যমে 0 হয়. প্রথম মাধ্যমে তাই লুপ জন্য এই পুনরাবৃত্তির আমরা বয়স নির্ধারণের হতে যাচ্ছেন GetInt একটি কল সমান বন্ধনী 0. তাই আমি ঘটেছে যাই হোক না কেন কীবোর্ড এ প্রবেশ করতে হবে. দ্বিতীয় পাস, আমরা করছি GetInt করতে age1 সমান সেটিং. তৃতীয় পাস, age2. চূড়ান্ত পাস age3. লুপ প্রতিশ্রুতি সেই প্রথম সময়টি যদি তাই আমি কীবোর্ড এ সংখ্যা 4 লিখুন তারপর আমরা এখানে একটি 4 সন্নিবেশ করব. আমি লিখতে দ্বিতীয় পাস হলে 50 আমরা এখানে একটি 50 করা হবে. তৃতীয় পাস আমি বল প্রবেশ 1 নেতিবাচক, 1 নেতিবাচক, এবং তারপর অবশেষে আমি 0-- লিখতে হলে এখন এই সূচক তিন ছিল যে মনে. আমরা লুপ ফিরে পরে, আমি হয় যাচ্ছে 4 মান বৃদ্ধি করা. আমি আর 4, যা এন, কম হয়. আর আমরা লুপ আউট বিরতি. তাই এই সমস্যা টা কি হবে? [শ্রবণাতীত]? শ্রোতা: [শ্রবণাতীত] হ্যাঁ. সুতরাং অ্যারের মাত্র চারটি জায়গা আছে, যা 3 দিয়ে সূচকের 0 হিসাবে মানে. এই ক্ষেত্রে ছিল না, আমি তাই কিছু সময়ে মান 4 নিতে. বয়স বন্ধনী 4 সেটিং হবে যাই হোক না কেন এখানে হতে হবে আমি বলার আছে কি করতে, 6 লিখতে. যে 6 এই সেটিং করা হবে. কিন্তু আমরা এখানে ধরে কি না জানি না. এই মেমরি নয় যে আমরা এক্সেস করা ছিল. তাই আপনার কাছ থেকে মনে হলে পূর্ববর্তী বক্তৃতা, তিনি, Zamyla মান মুদ্রণ ছিল এবং কিছু সময়ে তিনি এই সেগমেন্টেশন আঘাত দোষ. সুতরাং আপনি সম্ভবত দেখা হবে আপনি হিসাবে অনেক সেগমেন্টেশন ফল্ট সমস্যা সেট কিছু বাস্তবায়ন. কিন্তু এই এক উপায় যা আপনি একটি সেগমেন্টেশন দেখা দিতে পারে আপনি ব্যবহার করতে শুরু করেন, তখন দোষ আপনি করা উচিত হবে না যে উপায়ে মেমরি. সুতরাং আমরা এক্সেস আছে কি না এই অবস্থান এবং এই একটি বাগ সংশোধন করা হয়. তাই এই ভাল. এখন এখনও একটি ছোট নেই এই কোডটা দিয়ে ইস্যু. এবং যে আমরা যে মূলত এখনও চার ছাত্র আটকে. এখন মনে হচ্ছে আমি ঠিকই, আট ছাত্র ব্যবহার করতে চান তাহলে. এটা যে বড় একটি চুক্তি না. আমি পরিবর্তন, এ যেতে পারেন মন্তব্য, এবং এন পরিবর্তন. এখন এই আট ছাত্রদের সঙ্গে কাজ করবে. আমি এই কম্পাইল ও রান করে এই, এটা ভগবন্ দেখাবে এটা আট জন্য ইন্টিজার অনুরোধ করবে ছাত্র এবং এটা ঠিক কাজ হবে. কিন্তু এটা প্রয়োজন আদর্শ কম প্রোগ্রাম প্রতি একক সময় পুনরায় কম্পাইল আমি ছাত্র সংখ্যা পরিবর্তন করতে চান আমি বয়সের প্রবেশ করতে চান. তাই চূড়ান্ত উন্নতি আমরা এখানে দেখতে পাবেন এই, আমরা করছি মানুষের সংখ্যা অনুরোধ করা যাচ্ছে. এখানে আমরা একটি সংখ্যা আছে আসরে মানুষের বা রুমে মানুষ কোন বয়সের. কিন্তু আমরা সংখ্যা অনুরোধ করতে যাচ্ছেন ব্যবহারকারী থেকে রুমে মানুষ. তাই এই সঠিক একই কাজ যখন হয় আমরা আগে দেখা করেছি যে লুপ. এটা সঠিক একই কাজ যখন লুপ যে আপনি সমস্যা সেট উপর প্রয়োগ করা যেতে পারে. সুতরাং যতদিন তারা করছি 1 আর একটি এন কম লিখে, তাই এ হতে সেখানে পেয়েছিলাম রুমে কমপক্ষে এক ব্যক্তি. যতদিন তারা হিসাবে 1 আর একটি এন কম লিখে, তারপর আমরা আবার জিজ্ঞাসা রাখা চলুন. নাম্বার লিখুন রুমে মানুষ. এখন, একবার আমরা সংখ্যা আছে room-- মানুষের তাই আমি সেখানে যে লিখতে পারে এই রুমে 200 জনের হয়. তারপর এখানে আমরা নিচে আসতে যাচ্ছেন এবং আকার 200 একটি অ্যারের ঘোষণা. আমরা যে অ্যারে ঘোষণা করছি বড় যথেষ্ট 200 বয়সের রাখা. নেমে আসছে, এটি লুপ জন্য আপনি খুব ব্যবহার করতে হবে. তাই এই অ্যারে উপর iterating, প্রতিটি পাঁচ বরাদ্দ যে অ্যারের মধ্যে একটি পূর্ণসংখ্যা, এবং তারপর শেষ পর্যন্ত আমরা এখানে আছেন শুধু iterating একটি উদাহরণ পেয়ে যে অ্যারের উপর, মান নির্ধারণ করা না, কিন্তু মান ব্যবহার করতে. এখানে ওভার সুতরাং আমরা দেখতে আমরা যে এখন থেকে এক বছর, বলছে, ব্যক্তি% আমি বছর বয়সী% হতে হবে প্রথম% আমি প্লাস 1 যেখানে. তাই আমি এই সূচক পরিবর্তনশীল. আর দ্বিতীয়% আমি হতে যাচ্ছে বয়সের অ্যারে প্লাস 1 মান সঞ্চিত. সুতরাং এই প্লাস 1 আমরা মাত্র কারণ হল , এই প্লাস 1 বলছে বয়সের আমি প্লাস 1. এই প্লাস 1 আমরা মাত্র কারণ হল এখন ব্যক্তি থেকে একটি বছর, বলার অপেক্ষা রাখে না এই বয়সী হতে হবে. সুতরাং কেন এই আমি প্লাস 1? কেন আমরা একটি প্লাস 1 আছে? হ্যা. হ্যাঁ. সুতরাং অ্যারে শূন্য ইন্ডেক্স মনে. আমরা এই মুদ্রণ করা হয় তাই আপনি যদি কেউ শুধু আউটপুট পড়তে, তারপর সম্ভবত তারা কিছু দেখতে চান ব্যক্তি এক ব্যক্তির সংখ্যা এক মত, 20 বছর বয়সী হতে হবে. ব্যক্তি দুই নম্বর 15 বছর বয়সী হতে হবে. তারা বরং ব্যক্তি দেখতে না চাই সংখ্যা শূন্য 15 বছর বয়সী. সুতরাং এই কম্পাইল এবং শুধু এইজন্য কি এটা কিছু স্থান তৈরি করার মত দেখায়. বয়সের প্রনয়ন করুন. বয়সের চালনা. আমরা রুমে মানুষের সংখ্যা দেখতে. তাই আমি আছে বলবো রুমে তিন জনের. ব্যক্তির সংখ্যা এক বছর বয়স, এর 15, 20, 25 বলা যাক. এবং এখন আমি একটি বছর থেকে বলবো এখন তারা 16, 21, 26 হতে হবে. এর এই সঙ্গে কাজ করে দেখতে দিন 3 সমান নয় যে একটি এন. যদি তাই আমি মানুষের সংখ্যা, এক 5 বলে দুই, তিন, দুই, এক, এখন থেকে বছরে তারা, দুই, তিন হবেন চার, তিন, দুই বছর বয়সী. তাই আমি ঠিক যেমন পারা সহজেই এন 10,000 হতে হয়েছে. এখন আমি বেশ জন্য এখানে বসা হবে কিছুদিনের বয়সের লিখে, কিন্তু এই কাজ করে. তাই এখন কোথাও মেমরি আমরা , আকার 10,000 একটি অ্যারে আছে তাই শেষ পর্যন্ত 40,000 বাইট, আছে, কারণ যারা পূর্ণসংখ্যার প্রতিটি জন্য চার বাইট. সুতরাং একটি অ্যারের আছে আকার 10,000 যেখানে আমরা ঐ 10,000 মানুষের বয়সের সংরক্ষণ. ঠিক আছে. এই সম্পর্কে কোন প্রশ্ন? হ্যা. আপনি কি একটি ঋণাত্মক সংখ্যা দিয়েছেন তাহলে? এর কি দেখতে দিন. এই বিশেষ ক্ষেত্রেই সংখ্যায় তাই রুম, নেতিবাচক এক মানুষের. এটা যে প্রত্যাখ্যাত, এখানে আপ আমরা ঘটতে কারণ যদি n যে হ্যান্ডলিং করা কম একটির আমরা আবার জিজ্ঞাসা করতে যাচ্ছেন. আপনি কি চান একজন ডিক্লেয়ার করার চেষ্টা করলে নেতিবাচক আকারের অ্যারে, এটি সাধারণত কাজ করে না. সুতরাং এর চেষ্টা করা যাক. এর থেকেও দূরে যাই হোক না কেন এন জন্য মূল্য তারা ইনপুট এবং শুধুমাত্র int বয়সের নেতিবাচক এক বলে. এটা এমনকি প্রনয়ন তাহলে চলুন দেখা যাক. আমি নিশ্চিত না. না. তাই বয়সের একটি হিসাবে ঘোষণা করা হয় একটি নেতিবাচক আকার সঙ্গে অ্যারে. সুতরাং আপফ্রন্ট এটা একটি অ্যারের পারবেন না স্বীকার নেতিবাচক আকারের হবে এবং তা প্রত্যাখ্যান করে. এখন, আমরা হ্যান্ডেল করা হয়নি তাহলে এই কাজের জন্য সময় লুপ সঠিকভাবে, আমরা চেক না হলে এন কম 1 টি যদি আসুন আমরা শুধু বলা যাক এ সব এই আছে কি না এবং এর পরিবর্তে আমরা শুধু একটি পূর্ণসংখ্যা দখল. কোন ব্যাপার যে পূর্ণসংখ্যা কি, আমরা যে আকারের একটি অ্যারে ডিক্লেয়ার. সুতরাং কম্পাইলার না পারেন সম্ভবত এখন অভিযোগ. আমি আপাততঃ সঙ্কলন তাই এটা অভিযোগ করতে পারবেন না, এটা আমি জানি যে পারে না, কারণ একটি ঋণাত্মক সংখ্যা লিখুন যাচ্ছে, যা অবৈধ হতে পারে. সব জন্য এটা আমি বল, জানে একটি ধনাত্মক সংখ্যা লিখুন, যা পুরোপুরি বৈধ. আমি 1 নেতিবাচক লিখতে যদি তাই আমি কল্পনা রুমে মানুষ, দোষ সেগমেন্টেশন. তাই ঠিক. তাই আসুন এই মাত্র ফিরে যোগ দিন মূলত এটি ছিল কি এটা রাখা. তাই বয়সের করতে. এখন আমি একটি চেষ্টা করে দেখতে চান তাহলে নেতিবাচক তাই আসুন age-- রুমে পাঁচটি মানুষ আছে বলে. ব্যক্তির সংখ্যা এক বছর বয়স , ব্যক্তি তিনটি নেতিবাচক 4 শূন্য, ব্যক্তি ঠিক আছি-- হয়. তাই এখানে, একটি বছর এখন থেকে, ব্যক্তি সংখ্যা এক 3 বছর বয়সী নেতিবাচক হবে. তাই সম্ভবত অর্থে দেখা যায় না. কিন্তু যে শুধু খুঁজছি কারণ কোড এ সব আমরা করছেন GetInt চাইছে. এখন, আমরা হত GetPositiveInt ফাংশন বা আমরা শুধু শুধু এই কাজ করেছিলেন নিচে আছে একই সময় লুপ সাজান, তারপর এই পুরোপুরি সূক্ষ্ম কাজ করবে. কিন্তু এই বিশেষ যদি আমরা ঠিক না নেতিবাচক মান হ্যান্ডলিং হতে ঘটবে. অ্যারে সম্পর্কে অন্য কোন প্রশ্ন? ঠিক আছে. সুতরাং আমরা এখন অ্যারে দেখা করেছি. এবং আমরা ব্যবহার করতে প্রয়োজন চলুন কমান্ড লাইন আর্গুমেন্ট জন্য এই. সুতরাং সমস্যা two-- সেট আমি জানি আপনি অনেক এখনও সমস্যা সেটে কাজ করা যেতে পারে এক, কিন্তু সমস্যা হল দুটি উত্ক্রান্ত সেট. সমস্যা দুই সেট, আপনি যাচ্ছেন স্ট্রিং, অ্যারে সাথে ডিল করা প্রয়োজন, এবং কমান্ড লাইন আর্গুমেন্ট. কমান্ড লাইন আর্গুমেন্ট তাই কি হয়? এখন, আপনি এখানে একটি ডাউন দেখতে পারেন ঠিক কি জন্য একটু টিজার যাচ্ছে ঘটছে করা. আমরা, int প্রধান, Inc-argc দেখতে স্ট্রিং argv বন্ধনী. সুতরাং প্রথম এর ব্যাখ্যা করার চেষ্টা করা যাক কি বলতে চায়. এখন ঠিক আছে. তাই কমান্ড লাইনে আপনি হওয়া উচিত এই কমান্ডের কিছু ব্যবহার করা হচ্ছে এখন, এবং আপনি সম্ভবত রান করেছি আগে টার্মিনালে সিডি. সুতরাং আমরা সিডি pset1 যদি বলি, আপনি যে উচিত না pset1 ডিরেক্টরির মধ্যে পরিবর্তন হতে. এখন আপনি না করেছি যে লক্ষ্য আগে ভালো একটি প্রোগ্রাম লেখা. আপনি লিখিত করেছি যে প্রতিটি প্রোগ্রামের আপনি, বলুন, চালানো হবে মারিও বিন্দু স্ল্যাশ, ডট লোভী কাট, এবং তারপর এটি ইনপুট জন্য অনুরোধ জানানো হতে পারে. এখন, যে না কি পরিবর্তনের তালিকা আছে. আপনি সিডি চালানো, তখন বলে, না আপনি সিডি থেকে যা ডিরেক্টরির মধ্যে চাও? পরিবর্তে, আপনি শুধু বলতে, সিডি pset1, এবং এটা যাক pset1 ডিরেক্টরির মধ্যে যায়. সুতরাং একইভাবে আমরা অন্যান্য উদাহরণ আছে. হ্যালো করতে. আপনি করতে চালানোর জন্য, এটা তাহলে, বলে না যা প্রোগ্রাম আপনাকে করতে চাই? আপনি শুধু এ, বলতে কমান্ড লাইন থেকে ব্যবহারযোগ্য হ্যালো করতে. সরান আরেকটি উদাহরণ. আমরা চলন্ত হয় এই এক এক ডিরেক্টরি আপ ফাইল mario.c. তাই এখন আমরা এই উদাহরণ দিয়ে জানি আমরা সত্যিই দুটি আর্গুমেন্ট পার করছি. প্রথম আর্গুমেন্ট হিসাবে mario.c আছে, এবং ডট ডট দ্বিতীয় প্রমাণ. এবং তারপর আপনি করতে চালানোর যে সত্যিই দীর্ঘ কমান্ড দেখতে লাইনে যে সত্যিই দীর্ঘ কমান্ড কমান্ড লাইন থেকে মুদ্রিত. সুতরাং যে দীর্ঘ এই কমান্ড এটা শুধু একটি সংক্ষিপ্ত অংশ, কিন্তু এখন আমরা তিন আছে কমান্ড লাইন আর্গুমেন্ট. ডট ড্যাশ শূন্য, হ্যালো, এবং, hello.c. সুতরাং এই কমান্ড-লাইন তর্ক আপনি এ পার করছি যে কমান্ড লাইন, যাতে এটা অনুরোধ করা হবে নেই আপনি যখন প্রোগ্রাম চালানো. এটা হতাশাজনক হতে হবে যখন যদি আপনি ঝনঝন করা চলে এটা ঠিক আছে ", বলেন প্রোগ্রামটিতে যা যা ফাইল আপনি কম্পাইল করা হয়? Hello.c. কী পতাকা আপনি would লিখতে চান? ড্যাশ হে. তোমার কী পছন্দ ফাইল করা হবে নামক? হ্যালো. না, আপনি শুধু ঝনঝন চালানো হে hello.c হ্যালো ড্যাশ. তাই ফিরে এই সময়ে খুঁজছেন. এখন argc-- argc হয় যুক্তি গন্য হয়. এটা কমান্ড-লাইনের সংখ্যা আর্গুমেন্ট কমান্ড লাইনে প্রবেশ. ওয়েল, টেকনিক্যালি argv-- V, ভেক্টর ঘোরা যা মূলত অ্যারের মানে. কিন্তু আপনি যে উপেক্ষা করতে পারেন. Argv-- আমরা স্ট্রিং argv আছে তাই স্ট্রিং argv বন্ধনী. সুতরাং এই অন্য ফর্ম আপনি আগে দেখা যায় নি বন্ধনী. সুতরাং আমরা দেখা করেছি বন্ধনী আমরা আগেই বলেছি যখন স্বরলিপি, মত, স্ট্রিং গুলি, Zamyla সমান. গুলি বন্ধনী 0 চরিত্র জেড ব্যবহারের আমরা বন্ধনী যখন দেখা করেছি আমরা int বয়সের 5 বন্ধনী বলেন. যে আকার 5 একটি অ্যারের ঘোষণা. তাই এখানে একটি সংস্করণ বন্ধনী আমরা আগে দেখা যায় নি. স্ট্রিং argv তাই এই ধরণের যে সম্পূর্ণরূপে পরিচিত হতে হবে এটা শুধু একটি স্ট্রিং হবে. এখন বন্ধনী নির্দেশ যে এই একটি অ্যারে. তাই স্ট্রিং argv বন্ধনী মানে যে argv স্ট্রিং একটি অ্যারে. এখন টেকনিক্যালি একটি স্ট্রিং অক্ষরের একটি অ্যারে. সুতরাং এখন এই একটি অ্যারে অক্ষরের একটি অ্যারের. কিন্তু এটা আমার মনে হয় অনেক সহজ স্ট্রিং এই হিসাবে শুধু একটি অ্যারের. সুতরাং কেন বন্ধনী খালি হতে পারে? ভালো লেগেছে, আমরা কেন, বলতে পারবেন না বন্ধনী 5, বন্ধনী এন? হ্যা. হ্যা. আমরা কতজন জানি না ইনপুট হতে যাচ্ছি. সুতরাং আমরা ঝনঝন উদাহরণ তাকান তাহলে, আমরা hello.c হ্যালো হে Dash ঝনঝন বলে. এই বিশেষ ক্ষেত্রে, সেখানে ঘটবে তিনটি কমান্ড লাইন আর্গুমেন্ট হতে. আর তাই brackets-- আমরা দেখতে পাবেন একটি দ্বিতীয় মধ্যে এটি তিনটি হবে না. এটা টেকনিক্যালি চার হবে. কিন্তু বন্ধনী, আমরা বলুন, তিনটি আছে. কিন্তু এখন আমরা পদক্ষেপ দিকে তাকিয়ে যদি mario.c ডট ডট, বন্ধনী আমরা তাদের মধ্যে দুই রাখতে চায়. এবং কমান্ড অনেক আছে কমান্ড লাইন থেকে ব্যবহারযোগ্য একটি পরিবর্তনশীল সংখ্যা আছে আর্গুমেন্ট. তাই কি এই সংস্করণ বন্ধনী স্বরলিপি ইঙ্গিত argv স্ট্রিং একটি অ্যারে হয়. কিন্তু আমরা কতজন জানি না স্ট্রিং যে অ্যারের মধ্যে হয়. আর কীভাবে আমরা তারপর কিভাবে জানি না অনেক পংক্তি অ্যারের মধ্যে আছে? যে সমগ্র বিন্দু argc এর. argc, argv হয় কতদিন আমাদেরকে বলে. তাই শেষ জিনিস রাখা মন, যে টেকনিক্যালি হয় কমান্ড নিজেই এক হিসাবে গণ্য কমান্ড-লাইন আর্গুমেন্ট. সিডি pset1 সুতরাং, দুই আছে কমান্ড লাইন আর্গুমেন্ট. নিজেই প্রোগ্রাম, সিডি, এবং তারপর এটা প্রকৃত যুক্তি অংশ, pset1. আপনি এখন পর্যন্ত লিখিত করেছি যে কোনো প্রোগ্রাম আর মাত্র একটি কমান্ড-লাইন argument-- ডট ফেলেছে মারিও কাট. যে শুধুমাত্র কমান্ড লাইন আর্গুমেন্ট হয়. তাই এখন ঝনঝন এ খুঁজছেন হে hello.c হ্যালো ড্যাশ. সুতরাং argc কি? 4. সুতরাং argc 4 হয়. ঝনঝন, তাই argv বন্ধনী 0 ঝনঝন হয়. argv বন্ধনী 1 Dash 0 হয়. argv বন্ধনী 2 হ্যালো হয়, এবং argv বন্ধনী 3 hello.c. ঠিক আছে, তাই এই প্রশ্ন, এবং তারপর আমরা করব কিছু কর্মসূচি উদাহরণ তাকান. ঠিক আছে. সুতরাং আমরা hello3.c কটাক্ষপাত করব. সুতরাং এই থেকে পরিচিত হতে হবে প্রথম C উদাহরণ এক আমরা শুধু বলতে হবে যেখানে আমরা হ্যালো, ছিল বিশ্বের, কিন্তু এখন এই আরো সাধারণ হয়. তাই আমরা এখানে হ্যালো বলছে % এর ব্যাকস্ল্যাশ এন argv বন্ধনী 1. এই বিন্দু পর্যন্ত তাই বিজ্ঞপ্তি, এই হল কি আমার টেমপ্লেট ফাইল মত লাগছিল হয়েছে. আমি int প্রধান (অকার্যকর) ছিল, এবং তারপর আমি would প্রধান ফাংশন কিছু না. এখন পরিবর্তে, একবার আমরা আচরণ শুরু কমান্ড লাইন আর্গুমেন্ট সাথে, আমরা একটি রাষ্ট্র প্রয়োজন প্রধান বিভিন্ন ফর্ম. সুতরাং hello3 এ খুঁজছেন আবার প্রধান যাচ্ছে int-argc এখন আমি দুটি আর্গুমেন্ট গ্রহণ করা, কমান্ড লাইন আর্গুমেন্ট সংখ্যা, এবং স্ট্রিং বন্ধনী argv হয়, প্রকৃত স্ট্রিং কমান্ড লাইনে প্রবেশ. তাই আমি যে পরিবর্তন করা যাচ্ছে না টেমপ্লেট যে প্রতিফলিত. এখন যখনই আপনি লিখুন একটি প্রোগ্রাম, যদি আপনি না কোন কমান্ড লাইন নেওয়া প্রয়োজন আর্গুমেন্ট, তারপর শুধু int প্রধান (অকার্যকর) ব্যবহার. কিন্তু এখন আপনি লেখার যখন কমান্ড লাইন আর্গুমেন্ট প্রোগ্রাম, যা আপনি সমস্যার জন্য কাজ করা যাচ্ছে করছি তাই এখন আপনি চালাচ্ছেন যে two-- সেট নেওয়া প্রয়োজন যে প্রোগ্রাম কমান্ড লাইন আর্গুমেন্ট, আপনি এই ফর্মটি আবার প্রধান থাকতে হবে. তাই এখানে এই বড় ব্যবহার হয় কমান্ড লাইন আর্গুমেন্ট এর. সুতরাং argv 1 মুদ্রণ. ঠিক আছে, তাই এর কম্পাইল করা যাক এবং এই কর্মসূচি পরিচালনা করছে. Hello3 করুন. প্রনয়ন করেছেন. ডট hello3 কাট. আর এর বলা যাক, "রব." হ্যালো, রব. আমি "হ্যালো মারিয়া," হ্যালো মারিয়া যদি বলি. হ্যালো মারিয়া. হানা এখনও হ্যালো ", বলেছেন মারিয়া, "আমি নই, কারণ আমাদের argv 2 সঙ্গে কিছু করছেন. Argv 2 এখন "হানা." হতে হবে Argc 3 হবে. আমি কি এই না হলে? তাই হ্যালো নাল. তিনি সংক্ষেপে আসলে ছোঁয়া যে, টেকনিক্যালি GetString, নাল আসতে পারে, কিন্তু আমরা একটি পাবেন আরো কি নাল মধ্যে অনেক আসলে. কিন্তু একটি বিষয় হিসেবে তা গ্রহণ কোন সাধারণত খারাপ যে. আমরা যদি কিছু ভুল করেছেন এটা "হ্যালো নাল." মুদ্রণ এবং কারণ আমরা করেনি হচ্ছে ÑÑ ভাল কিছু ভুল, আমি বিন্দু স্ল্যাশ hello3 দৌড়ে যখন argc হয় 1 ছিল. সুতরাং যে argv দৈর্ঘ্য ছিল 1 মানে. একটি অ্যারের দৈর্ঘ্য 1 থেকে হয়ে থাকে, শুধুমাত্র বৈধ সূচক শূন্য. আর তাই এখানে 1 বাইরে argv এই অ্যারের পরিসর. এটা আমি চেষ্টা হলে আগে অনুরূপ ছিল অ্যারে শেষে বাইরে 6 ধারণ করার. তাই আমি কিছু করার চেষ্টা করছি argv হয় স্থা বাইরে, এবং আমরা নাল পেয়ে থাকেন. তাই একটি ভাল সংস্করণ এটি একটি উন্নয়ন, স্পষ্টভাবে-argc চেক করা হয়. Argc, 2 সমান হলে, যে আমরা দৌড়ে মানে বিন্দু স্ল্যাশ hello3 রব মত কিছু. এবং এটা "হ্যালো, রব." প্রিন্ট হবে Argc, সমান না হলে 2, তারপর, এটা শুধু যাচ্ছে আপনি যাই হোক না কেন করা উপেক্ষা করা কমান্ড লাইন আর্গুমেন্ট এ কমান্ড লাইন আর্গুমেন্ট হিসাবে. আপনি সব সময়ে কোন করা হয়নি, বা, যদি এটা শুধু যে উপেক্ষা করে শুধু বলে যাচ্ছে, "ওহে তুমি." সুতরাং এই কম্পাইল. Hello4 করুন. আর hello4 চলমান. এটা এই ভাবে চলমান, কি করা উচিত মুদ্রিত? "ওহে তুমি." ওহে তুমি. কি hello4 রব সম্পর্কে? "হ্যালো, রব." এবং পরিশেষে, হ্যালো, রব মারিয়া , "হ্যালো আপনি" আবার ঠিক হয় আপনি কি সত্যিই লেখেননি কারণ এটা প্রত্যাশিত যে কিছু. আপনি আরো নাম প্রবেশ এটা ছাড়া হ্যান্ডেল করতে পারে, তাই এটা শুধু ডিফল্ট হ্যালো আপনি আচরণ. এই প্রশ্ন তাই? অথবা কমান্ড লাইন আর্গুমেন্ট? ঠিক আছে, তাই একটি কটাক্ষপাত গ্রহণ ব্যবহার করে দম্পতি আরো উদাহরণ কমান্ড-লাইন প্রথম আর্গুমেন্ট আমরা ড্যাশ 1 বিন্দু গ argv আছে. তাই মন্তব্য বিকান কি এই প্রোগ্রাম কাজ করা উচিত. কিন্তু, এই লুপ জন্য এখন আমি লক্ষ্য এই সঠিক প্যাটার্ন মিলে যায় আমি আগে বলছিলাম. আমরা শুধু হতে ঘটতে এন পরিবর্তে-argc ব্যবহার. এখন-argc সত্যিই এন হয়. এটা argv অ্যারে এর দৈর্ঘ্য. সুতরাং argv মাধ্যমে iterating অ্যারে printf,-ing প্রতিটি argv হয় মান. আমি এই করতে হলে তাই. Argv হয় 1 করুন. এটি প্রনয়ন. ডট argv হয় 1 কাট. শুধু এই চলমান, এটা প্রিন্ট স্ল্যাশ argv হয় 1 ডট শুধু কমান্ড লাইন ছিল, যেহেতু প্রোগ্রামের নাম argument--. সবসময় least-- এ থাকবে argc, এক কম হতে পারে না যেহেতু সেখানে সবসময় অন্তত চালানোর প্রোগ্রামের নাম হতে. সুতরাং 1 রব 1 argv প্রিন্ট হবে argv এবং তারপর নতুন লাইনে "রব." প্রথম পুনরাবৃত্তির তাই এই লুপ, আমি 0 হয়. Argv 0 প্রোগ্রাম নাম. ডট argv হয় 1 কাট. এবং তারপর 1 আমার প্রথম argv রব যা কমান্ড লাইন আর্গুমেন্ট. এই মুহুর্তে আমরা argc সমান হয়. আমরা লুপ আউট বিরতি এবং আমরা কাজ করছি. সুতরাং এই একটি অবাধ জন্য কাজ করবে কমান্ড লাইন আর্গুমেন্ট সংখ্যা. লক্ষ্য করুন এটা argv 0, argv হয় ছাপে 1, argv হয় 2, argv হয় 3, argv হয় 4. আর কোন argv হয় 5 আছে. argc, 5 সমান. তাই আমি 5 ই সমান এ argc-- এ, আমরা লুপ আউট বিরতি. ঠিক আছে. আমরা আগে যে প্রশ্ন তাই একটি আরো জটিল উদাহরণ তাকান? সুতরাং 2 argv. ঠিক আছে. তাই আমরা এখনও মুদ্রণ করছি কমান্ড লাইন আর্গুমেন্ট. কিন্তু এখন আমরা আছে বিজ্ঞপ্তি একটি লুপ জন্য নেস্টেড. তাই কি এই করছে? সুতরাং প্রথম লুপ করছে ঠিক কি এটি করার আগে করেনি. আমরা এখনও উপর looping করছি প্রতিটি কমান্ড লাইন আর্গুমেন্ট, কিন্তু এখন এই দ্বিতীয় লুপ আমরা করেছি এছাড়াও সামনে ভালো কিছু দেখা. তিনি উপর iterating করা হলে Zamyla টু Z-একটি-এম-ওয়াই-এল-একটি প্রিন্ট আউট. সুতরাং int- এ জে জন্য এই দ্বিতীয় লুপ সমান 0, এন argv বন্ধনী আমি strlen সমান. সুতরাং প্রথম জন্য মনে করা যাক the-- ভিতর দিয়ে হেটে যেতে. এর কি কম্পিউটার would চিন্তা করা যাক শুধু বিন্দু হিসাবে আমি এই প্রোগ্রাম দৌড়ে যদি না argv হয় ড্যাশ 2 কাট. যদি তাই আমি তারপর, এই কোড দৌড়ে 1-argc সমান হতে যাচ্ছে. আর স্ট্রিং শুধুমাত্র আছে argv-- argv মধ্যে এক সূচক হতে যাচ্ছে, এবং যে বিন্দু সমান হতে যাচ্ছে argv হয় কাট 2 না প্রোগ্রামের নাম. ঠিক আছে, তাই এখন আমি চেয়ে আমি কম, 0 সমান 1, আমি প্লাস প্লাস int- এ জে 0 সমান জন্য, এন, তাই argv বন্ধনী 0 strlen সমান এই লুপ প্রথম পুনরাবৃত্তির. argv হয় বন্ধনী 0 বিন্দু স্ল্যাশ argv হয় 2. যাতে স্ট্রিং এর দৈর্ঘ্য কত? ওয়েল, এক-আর-জি-ভী ড্যাশ 2 বিন্দু স্ল্যাশ. যে strlen সুতরাং 8 হবে. তাই জে 0 সমান, এন 8 সমান. যতদিন J 8, J ++ কম হয়. এবং সেই সঙ্গে আমরা হতে যাচ্ছেন একটি অক্ষর, মুদ্রণ যা আমি J বন্ধনী argv বন্ধনী হয়. সুতরাং শুধুমাত্র আমি শূন্য. আমরা এখনও শুধুমাত্র একটি আছে কমান্ড লাইন আর্গুমেন্ট. যে প্রথম পুনরাবৃত্তির লুপ জন্য, আমরা করছি মুদ্রণ করা যাচ্ছে argv বন্ধনী 0 বন্ধনী 0. এবং তারপর ঞ বাড়ায় যাচ্ছে. আর আমরা প্রিন্টিং চলুন argv বন্ধনী 0 বন্ধনী 1. এবং তারপর বন্ধনী 0 বন্ধনী 2 argv হয়. সুতরাং এই আমাদের প্রথম এনকাউন্টার বহু মাত্রিক অ্যারে. আমি আগেই বলেছি যে আগে মনে রাখুন যে argv হয় টেকনিক্যালি হয় অক্ষরের অ্যারে একটি অ্যারের. তাই এখানে আমি কিছু ভালো বলেন, তাহলে স্ট্রিং গুলি, argv বন্ধনী আমি সমান এবং তারপর আমি, তিনি বলেন বন্ধনী J, এই একই জিনিস accomplishing হবে. এখন, আপনি আগে গুলি বন্ধনী J দেখা করেছি. যে শুধু J-তম অ্যাক্সেস এই স্ট্রিং এর চরিত্র. তাই এই সঙ্গে, আমরা পাচ্ছেন আমি-তম argv এর J-তম অক্ষর. তাই এই কি শেষ পর্যন্ত আউটপুট উচিত? Argv 2 করুন. এটি প্রনয়ন. ডট argv 2 কাট. "রব মারিয়া হানা," এবং আমাদের কিছু রুম দিতে. সুতরাং আমরা এই outputting যে দেখতে নিজস্ব লাইন এবং স্ল্যাশ ডট নিজস্ব লাইন নিজস্ব লাইন এবং একটি উপর. এটা আউট প্রতিটি মুদ্রণ স্বতন্ত্র চরিত্র প্রতিটি কমান্ড লাইন আর্গুমেন্ট এর. এবং তারপর তাদের মধ্যে, কারণ এই নতুন লাইন আমরা এখানে নিচে মুদ্রণ করছি তাদের মধ্যে যদি একটি নতুন লাইন প্রিন্ট করব. সুতরাং এই অনুরূপ পূর্বে argv হয় ড্যাশ 1, প্রতিটি মুদ্রিত যা কমান্ড লাইন আর্গুমেন্ট, কিন্তু এখন আমরা মুদ্রণ করছি কমান্ড লাইন আর্গুমেন্ট এবং তারপর প্রতিটি মাধ্যমে iterating প্রতিটি কমান্ড লাইন আর্গুমেন্ট এর চরিত্র এই আউটপুট পেতে. ঠিক আছে? এই প্রশ্ন তাই? একটি বিষয় উল্লেখ্য যে যে হয় কমান্ড-লাইন আর্গুমেন্ট তাই তারা যেমন শূণ্যস্থান দ্বারা পৃথক করা হয় আপনি স্বাভাবিকভাবেই তাদের আশা করা হবে. সুতরাং একটি স্ট্রিং এটা শূণ্যস্থান থাকতে পারে. এটা অতি গুরুত্বপূর্ণ নয়, কিন্তু আমি যদি তৃতীয় কমান্ড লাইন আর্গুমেন্ট চেয়েছিলেন আমি তারপর, এটা একটি স্থান আছে ভালো কিছু বলতে পারে. ঠিক আছে? সুতরাং এখন এই এখনও শুধুমাত্র তিনটি কমান্ড-লাইন আর্গুমেন্ট ভাল 4. ডট argv হয় ড্যাশ 2 কাট, রব, মারিয়া, এবং হানা ব্লুমবার্গ. ঠিক আছে. এই প্রশ্ন? বিশেষ কিছুই নেই স্থান চরিত্র সম্পর্কে. এটা ঠিক যে হতে হবে কমান্ড-লাইন স্থান অক্ষর একইরূপে কিভাবে হিসাবে আপনি প্রতিটি যুক্তি আলাদা. ঠিক আছে. আমি তখন সমস্যা সেট আপনি হতে যাচ্ছেন two-- গোপন-কি ক্রিপ্টোগ্রাফি এ খুঁজছেন. যে উদাহরণ সুতরাং, একই আমরা একটি ক্রিসমাস গল্প থেকে দেখেছি আপনি কিছু প্রয়োগ করা চলুন একটি বার্তা দেওয়া যে আলগোরিদিম, আপনি পাবে যাচ্ছেন যে বার্তা এনক্রিপ্ট করা যে গোপন সঙ্গে শুধু কেউ কী, যে সঙ্কেতমোচক রিং সঙ্গে, ডিক্রিপ্ট করতে সক্ষম হওয়া উচিত. সুতরাং যে স্ট্যান্ডার্ড সংস্করণ. আপনি বাস্তবায়নের হতে যাচ্ছেন দুটি ভিন্ন সংস্করণ. আপনি কটাক্ষপাত ঘটতে হলে হ্যাকার এখন সংস্করণ এ, আমরা দিতে যাচ্ছেন আপনি কি এই মত একটি পংক্তি, যা একটি এনক্রিপ্ট পাসওয়ার্ড প্রতিনিধিত্ব করে. সুতরাং আপনার লক্ষ্য চিন্তা করা হয় ডিক্রিপ্ট পাসওয়ার্ড কি. এখন আসলে কিভাবে এই পাসওয়ার্ডের কম্পিউটারের অনেক সংরক্ষণ করা হয়, এবং এটা শুধু এই দোকান অক্ষরের র্যান্ডম স্ট্রিং. আপনি পেতে জিনিসটা কিভাবে আছে অক্ষরের এই র্যান্ডম স্ট্রিং থেকে মূল পাসওয়ার্ড কি ছিল. এবং পরিশেষে, পরে এই সমস্যা সেট, আপনি উচিত এর মানে কি বুঝতে পারবে. সুতরাং আপনি ডিক্রিপ্ট করা শিখতে হবে র্যান্ডম স্ট্রিং এই সাজানোর. একইভাবে, আপনি সপ্তাহে থেকে মনে হলে 0, আপনি এই URL দেখা হতে পারে. এবং আপনি করতে সক্ষম হওয়া উচিত অবশেষে এই ডিক্রিপ্ট. আপনি খুশি হতে পারে না যখন আপনি ডিক্রিপ্ট এবং লিংকে ক্লিক করুন. ঠিক আছে. আজ পর্যন্ত এর. তাই আপনাকে দেখতে আগামী সপ্তাহে! [বৈদ্যুতিন সঙ্গীত বাজাচ্ছি]