The array str is declared with a size of 5 (char str[5];), which means it can store only 4 characters plus the null terminator ('\0'). However, the string "hello" has 5 characters.
@bilalrajput14288 ай бұрын
yes Right Answer 🙂🙂🙂🙂🙂🙂
@deltashorts97 ай бұрын
Right
@triptipal583 жыл бұрын
How could someone be this much nice..I mean teaching for free all the concepts and that too in understanble form...applaudssss🎉
@chirntn Жыл бұрын
Please note that the gets function is considered unsafe and has been deprecated in newer versions of the C standard due to potential buffer overflow vulnerabilities. SO better use fgets( str , sizeof(str), stdin);
@papaJPインド人3 жыл бұрын
Str[5 ] can store only 5 characters while the string ''hello'' itself has 5 character. hence , there is no space for \0(null character) .
@Chess_.642 жыл бұрын
O(n+1)
@rohitgiri91792 жыл бұрын
no bro if we are using double quote("") then no need of null character
@AniketSingh-be5gk2 жыл бұрын
Bhai aapka knowledge toh kamaal ka hai😂
@adityar.b.8979 Жыл бұрын
@@rohitgiri9179 null character will still be needed even if we use double quotes and so space to allocate it should also be there. It's just that we won't need to write \0 at the end. Double quotes by default takes a \0 at the end.
@harshbhalala9387 Жыл бұрын
@@AniketSingh-be5gk 🤣🤣
@taufiqueanwarkhan2396 Жыл бұрын
02:43 Strings are not a data type in C programming, but they can be represented using character arrays. 05:26 A string in C is an array of characters terminated by a null character. 08:09 C programming uses character arrays to represent strings. 10:52 In C programming, strings are null-terminated character arrays. 13:35 Using arrays to model strings in C and printing them using %s or putsstr 16:18 Explanation of character arrays in C 19:01 Understanding string handling in C 21:37 Different ways to print strings in C
@twinklerambhia32363 жыл бұрын
str[5] is an array that can store upto 5 characters only. h e l l o is 5 characters, since the 6th character is a null character the array size has t be 6. Hence, str[6] should be used for storing h e l l o.
@gorakhraut51385 жыл бұрын
str[5],str="hello" we are unable to store this "hello" into str[5] array. the reason is "\0" we are not adding null character into this array.
@soniamalik49294 жыл бұрын
But...harry ne bola tha ki "hello" wale method m compiler khud hi create krega null character?plz answer
@liltekos44984 жыл бұрын
@@soniamalik4929 kyonki usme humne string ka size define kiya hai 5 ,agar vo 5 voha na hota to vaise hi hota jaise tum bata rahi ho compiler bhi automatically lagata hai \0 but uske liye bhi space honi chaiye na isliye
@vikassaini74854 жыл бұрын
@@liltekos4498 Have you run this code on your computer? This code is showing me error instead of writing str[6]
@starkendeavours70724 жыл бұрын
@@vikassaini7485 Yes, bro I just checked. If you write str[5], It's actually not giving an error but instead of hello some unusual letters are getting appended with "hello". But str[6] gives no errors and unsatisfied results.
@BiswajitPatra-xn6xw4 жыл бұрын
@@soniamalik4929 yup compiler do this own. But tell me to stay you require a room space ri8, is it matters whether you created the room or the builder created for u?????///
@heeru3794 жыл бұрын
(edited) 9:24 Because it's a C program and you can't assign a string into an array of characters like this. str = "hello"; ❌ str[6] = "hello"; ✔️
@harshitsingh21012 жыл бұрын
No you are very wrong dear
@heeru3792 жыл бұрын
@@harshitsingh2101 Yes ! You are right I was wrong that time. Thank you I thought earlier it will give error because of null character but the real reason is assignment operator.
@akn30212 жыл бұрын
You are wrong....if array size 6 then it is correct
@heeru3792 жыл бұрын
@@akn3021 Brother, index starts from 0
@ictfan-ly8gh6 ай бұрын
Still u are wrong 😂
@pythonkrishna290 Жыл бұрын
str[5] can only store 5 characters. The strinng (or character array) "hello" has 5 characters so there's no space for the null character(\0). For those who are wondering that by using double quotes ("") the compiler will automatically add a null character(\0) should remember that altough it's true but the compiler will need an extra space in that array to store the null character(\0) which is limited in the character array str. Hope I am right...
@srinibaspanigrahi85583 жыл бұрын
The str[5] is a character array that can store 5 elements, but to store 'harry' 6 characters are required.
@bijendraagrawal24113 жыл бұрын
Because of null character
@lalith_kumar_akhila24113 жыл бұрын
@@bijendraagrawal2411 '\0'..
@aryanagarwal79032 жыл бұрын
hello not harry😅
@harshbhalala9387 Жыл бұрын
@@aryanagarwal7903 🤣🤣🤣🤣🤣🤣
@fanimedubb8879 Жыл бұрын
@@aryanagarwal7903 baat toh smjh gyaa naa
@priyanujbora96894 жыл бұрын
char str[5]; str="hello"; str is a constant pointer to str[0] and its value is not modifiable; if str[0] is modified first then this constant pointer can be modified
@sirkartik3 жыл бұрын
bro can u pls explain this further?
@yashrawat7472 жыл бұрын
@@sirkartik bhai hello 5 characters se bna hh abb hmey ek aur space chaiye h jhan pr hum \0 issey store kr payen
@sirkartik2 жыл бұрын
@@yashrawat747 Thanks :) for replying bro
@harshitsingh21012 жыл бұрын
@@yashrawat747 Galat hai bhai, dekho jo str hai wo yaha par array pointer ki terah kaam kar raha hai agar tumne str = "hello" likha matlab tum str[0] ke address ko equal kar rahe ho "hello" ke toh compiler tuhme wo karne nhi deta instead do char *str[(this value doesn't matter)]; *str = "hello";
@sarveshdevrukhakar3 жыл бұрын
Firstly, ANSWER of your question is ( because when we right any word in double-quotes that time compiler automatically applies the NULL character ( '\0' ) ; so, above your line is never create any issues. Ok ! Then 2nd thing is , when you explaining the "printstr" function that time you say " i will tell you ki why iam used %c in printf . But after sometime you forgot that...🙄🙁 But its okay. 🤩🙌👌👍 You are AWESOME guy.. No doubt..👍👍
@Josuke217 Жыл бұрын
9:45 initialization and declaration must happen in the same line for strings.
@proteansan51413 жыл бұрын
9:46 Because in this type of syntax the compiler automatically takes the \0 which requires an extra memory location so that's why it should be str[6]
@yogeshkolate82073 жыл бұрын
The size of array of string should be greater than 1 from actual size of array to store null character (\0) ie. Ln+1
@Abhirup_Maiti3 жыл бұрын
9:40 char str[5] can store 5 elements only. And str="hello" has 5 characters but we can't store the null character('\0') within str[5]. Thus it is not a valid string.
@tishagupta31363 жыл бұрын
The str[5] represents an array which only stores 5 character and hence to make it a proper string we have to increase the length by 1 to store the null value too. That will make it a perfect string and hence then it will print harry and run without creating an issue
@dibyochowdhury45142 ай бұрын
Have tried many videos but your ones are short and simple and to the point. Thank you for making such a quality content harry bhai
@vishalsoner66523 жыл бұрын
Harry bro Mene aap ka 15 hours ka c_language ka pura video dekha he Esh tutorial me aap bohot fast pass rhe ho
@hritavsinghsolanki88933 жыл бұрын
char str[5]; str ="harry"; we cant assign an array like this coz its a pointer and that is constant always
@PurviGuptaofficial3 ай бұрын
Star[5] liya gaya hai but hame star[6] lena chahiye q ki hello ke sath null character ko bhi count karte hai Correct form char str [6]; str = "hello"; Esa hona chahiye
@vaishnavisharma41374 жыл бұрын
this lecture really help me a lot bhaiya to learn about strings very clearly. thanks a lot bhaiya for your videos and appreciable effort.
@mohammed-i7864 жыл бұрын
Quiz answer : Because there is no space to accomodate the null character.
@mohitchouhan767911 ай бұрын
because array str is delared with a size of 5 .
@ramanshusharanmishra5397 Жыл бұрын
The correct answer to your question is that we cant assign a string to the base adress of an array. and in the given question "arr" represents the base address of an array.
@adnankaisar123 жыл бұрын
Sir as you said and we all know element of an array started from 0 so char str[5] is correct according to me cause it has 6 spaces so we can include '\0' too in that if i write "harry". I'm confused sir, coreect me if im wrong.
@iliyonhunyawr2 жыл бұрын
When we declare an array with any index number then its mean its locations is one less of it For example str[5] have 0,1,2,3,4 locations so we have to declare another location for null
@NishaYadav_643 жыл бұрын
Outstanding way to teach 🥰👏👏
@UECAshutoshKumar2 жыл бұрын
Thank you sir ❤️
@themoviestory87632 жыл бұрын
Char str[5]="hello"; ✓ Str = "hello"; × *You should initialize the value with data type*
@surajprajapati36272 жыл бұрын
This is also wrong
@gamingangsuk49402 жыл бұрын
You are a very good KZbin channel I like your channel😀😀😀😀
@parthatewary7388 ай бұрын
9:50 str[5] can only store 5 char that is h,e,l,l,o so there is no place left for null. So we have to give str[6]
@suhanigupta.31207 ай бұрын
Same doubt
@parthatewary7387 ай бұрын
Harry wrote str[5] instead of std[ 6]
@parthatewary7387 ай бұрын
@@suhanigupta.3120so if you do it str[6] it will run as there will be 1 place for /0
@vaibhavbhardwaj485 жыл бұрын
This is the right way to insert #include int main() { char str[] = "Hello"; printf("%s", str); return 0; }
@Ashish...114 Жыл бұрын
because \0 mandatory h & uske liye length 6 chahiye
@factsandcoding9810 Жыл бұрын
Sir mast question hai! The real problem is that str is a pointer which stores the base address of character array. we cannot assign a string to it.
@soumyajitmukherjee31223 жыл бұрын
As "hello"={'h', 'e', 'l', 'l', 'o', '\0'} exceeds the stack by 1 character and by definition given above is char srt[5], of strength 5. That's why the compiler will through error.
@sanyamjain1442 жыл бұрын
best coding channel ever
@Rupesh_Arora3 жыл бұрын
hamare pas '\0' store kane kae liye jagha hi nahi hai or jab tak \0nahi ata to string terminate nahi hongi
@194patelnishant4Ай бұрын
Str[5] holds 5 character which is Harry. Although it requires proper size for storing value. Like above example normally string array takes extra size,We need to intalize array (string length + null character),it will tell you string end and does not take any blank value.
@vgx15gaming373 жыл бұрын
harry bhai made strings easy. Thank you harry bhai
@surajprajapati36272 жыл бұрын
str[5] initialise from 0 to 4, which only can store upto 5 char so null char cann't be added by compiler.
@chiteez_____1562 Жыл бұрын
Very nice explanation! ❤👍
@lovishbansal37893 жыл бұрын
char str[5]; str = "hello"; This will create problem because we have length of hello word 5 and in str we can store only 5 character but for string we need length of character+1 in array created
@CODINGCLASS-e5w3 ай бұрын
Char str [5]; Str="hallo"; Bas ek kaam karna hai 5 ki jagah hume 6 likh dena hai null.\0 ke liye Hame apne charcter se space ko chhota nahi likhna chaho to bda kitna bhi likh sakte ho magar null \0 ke liye jagah deni padegi
@jayanspaliwal59073 жыл бұрын
9:41 This will create a problem because 'hello' will occupy all the space leaving none for the null '\0' character
@SANJAYDAS-zh7fw2 жыл бұрын
9:42 mein len+1 size hona cahiye to accomodate \0 but the size of that array is len not len+1
@GupteswarGaming Жыл бұрын
Str 5 can store only 5 character and the word "hello " is already consist of 5 so there is not a null character space 😊
@codificatore_05 Жыл бұрын
9:38 Bcoz sir array size is 5 and bcoz we have put double quotation therefore there's no space for it. Hence the string will be printed with garbage values ..So the space should be increased .
@harshalpatil2978 Жыл бұрын
Sir maine ab apke videos dekhne chalu kiye hai
@pradeeppradeepkanaujiya89902 жыл бұрын
Great 👍👍👍👍👍
@HarshKumar-zm1jl3 жыл бұрын
Nicee love it .....sir😁😋😋😋😎😎😍
@SubhamKumar-90094 жыл бұрын
Best teacher ❤️❤️
@chiteez_____1562 Жыл бұрын
Quiz solution: Since the array length = string length , therefore, the compiler will get no space to add ''\0' in the end and as a result it will not be considered as an string.
@tejalmohod93893 жыл бұрын
9:39 Because size is not sufficient for string as it needs to include '\0' as a null character..!!
@ignition014 жыл бұрын
Super learning And lecture thanks you harry bhai 😍
@ajayjangid11644 жыл бұрын
complete explanation: As when compiler convert "hello" into {'h' , 'e', 'l', 'l',' o', '\0, } and when it stores in array[5] , then the compiler can't do so bcoz this array is of length- 5 only .
@SisodiyaTech4 жыл бұрын
Length of array+1 But there char str[5]; str="hello"; hello is 5 character Null character is needed to terminate
@arunkumartiwari45704 жыл бұрын
Good bro
@ishaananand47793 жыл бұрын
The str[5] is a character array that can store 5 elements, but to store 'harry' 6 characters are required(null character required).
@garixkeleng78193 жыл бұрын
9:39 because it requires character length plus 1 extra array
@vanshikaagarwal14033 жыл бұрын
9:40 length of string will be 6 due to 1 null character /0 and other 5 character of hello and instead of that only 5 is issued so that will create problems.
@PR_Pavan Жыл бұрын
#include int main() { char str[6] = "PAVAN"; for(int i=0; i
@aneesurrehman35482 жыл бұрын
Great 👍
@atanusamanta994 жыл бұрын
awsm harry bhai...
@daughter_of_chitkute0611 Жыл бұрын
the compiler adds the null character by itself as we have declared it as a string hence the size would imply that 4 characters for the string and the last character will be reserved for the '\0'. Therefore, we should always give one extra size while declaring the string variable.
@aadvikchaturvedi29864 ай бұрын
9:52 the str only have 5 spaces and the word is also of 5 characters so there would be no space left for null character.
@sakshigandhi73634 жыл бұрын
we supposed to enter str[6]; to solve the problem, bz string size is char+1 for enter"\0"....
@manthanpatel18642 жыл бұрын
Char str[6] hona chahiye valid output ke liye Char str[5] sirf 5 length ka word print karega Aur valid output ke liye len + 1 hona bahut jyada jaruri hai
@rosonerri-faithful3 жыл бұрын
9:44 because str array ka length 5 diya gaya hai.. aur hamare string ka length 5 hei..toh \0 accomodate krne ke liye jo extra space chahiye vo hume nhi mil rahi hei. islye error ayga..HarryBhai😁
@royfamily92733 жыл бұрын
Thanks Harry Bhaiya
@prakritrai50753 жыл бұрын
Str(5) array is an character string that can store 5 elements but for store Harry 6 character are required
@TanishJangir4 Жыл бұрын
"String ek data type mene nahi bataya or hota bhi nahi hai" that initial line is amazing to start
@Diplomaincmtech2 жыл бұрын
Quick quiz ans.= the above line will create problem becaz we need str[ 6] to store hello string and 5 +1 space is needed to print NULL char.
@RabindranathSahoo_123 Жыл бұрын
In str[5], hello word contains 5 letter so \0 can't be add . So this string will be not able store
@incredibleindiabyrudra73613 жыл бұрын
due to bec the str[6] should be there for hello ,for null character too.
@ayanavadas61543 жыл бұрын
19:39 No space for, '\0' , NULL character is available in str[5].
@sangeetakharat1933 Жыл бұрын
String 5 can store only 5 digits and the "hello" itself has 5 digits and because of the semicolon it will also add \o(null character) but there is no space to store the \o character.ok
@siddheshdeshpande8618 Жыл бұрын
in double quotes( " " ) compiler will add a null character to variable hence it will need an extra space is required. Due to this reason line will create an problem. So the size of the string should be at least { length + 1}
@hassnainalidayo54332 жыл бұрын
Because array take an input name of array along with each index number
@mathtv65263 жыл бұрын
Because str[5], can store only 5 character not the extra null character (that is - length of array should be one greater than the element's characters value)
@mohammedwaseem85994 жыл бұрын
Awesome
@SwarnadipDutta6 ай бұрын
str is a pointer to the base element of the char array str [ ] , so we cannot store "hello" in it because it is not a char array. Besides , the value of str is not modifiable.
@its_me_4562 жыл бұрын
Char str[5] can store only 4 elements with 1 null character for printing "hello" it should be like Char str[6].
@harekrishnasadharan10811 ай бұрын
str = "hello" consists of 5 characters and when it's checked by the C compiler gcc then it adds a null character in the end and so the size is 6 but it is initialized with char str[5]; so the second line will throw error as there's no problem in initializing the array but the index is overlapping the declared size of the character array
@rudranshnemade62993 жыл бұрын
9.52 Because str has only 5 memory locations but we need 6 location to store Hello and one \0
@SYED-A.Shaban2 жыл бұрын
because in second line str[10] should be used unstead of str only
@sciesteam5 жыл бұрын
Nice bro
@engineerbhai76425 жыл бұрын
Excellent work
@vivekanandapradhan90672 жыл бұрын
please cover those cases as well when we do things we are not supposed to do, like if we print a char array without a null character using %s type specifier, what will be the output if we do this, will it be a compilation error, or it will keep on print a long string containing garbage values
@sskilledgame4132 Жыл бұрын
Lower of area str( ) values of prinrd
@yourfitnessadda28604 жыл бұрын
because as you said to strong a value in string we have to assign string as length of string +1
@meetgandhi83953 жыл бұрын
9:42 , here it will create a problem because the character used in hello is 5 and the string size is also 5 and there is no space for null character i.e ('\0') so it must be str[6] or more than that to print 5 character .
@yashrawat7472 жыл бұрын
sir this is because we have define the character array of only 5 length But what we need is 6 as there are 5 characters and one for null character
@directionsinfinite44465 жыл бұрын
bhaiya no problem anywhere if the space of the array would be 6. Please correct me if i am wrong..... Thankq bhaiya for everything..
@kalyugkakrishna59703 жыл бұрын
Sir, time 20:03 pr aapne kha he ki ham scanf me Wight space nahi le skte to asa nahi he! Mene "Let us C" book me pda he . . . scanf (" %[^ ]s "
@ayushmishra52903 ай бұрын
str[5] is valid for the string length of 4 character string because of one null character not for 5 string character. For 5 string character we need str[6]
@vinaykaushik1103 Жыл бұрын
str[5] can only store the 5 characters and the string "hello" has also 5 characters . so there is no space for \0(null character).
@Karthik-kt244 жыл бұрын
thanks bhaiya🙏
@er.skelafahmed3 жыл бұрын
Str[6] will be correct because of hello=5 char, " " = 1 char ,total =6 char
@jaykumarpawar083 жыл бұрын
Means, char str[6]={'h','e','l','l','o','/0'}; 🙃
@jaykumarpawar083 жыл бұрын
I hope you understand 😀
@RadheKrishnaedits98679 ай бұрын
Because the length of string is 5 and the length of char name is also 5. It has not a sufficient space for NULL character.
@pavangonahal89203 жыл бұрын
9:24 because there is no space for null character in the str array the length should be [6]