Jump to content

View more

Image of the Day

The night is still, but the invasion brings chaos. #screenshotsaturday #hanako #indiegame #gameart #ue4 #samurai https://t.co/cgILXuokoS
IOTD | Top Screenshots

The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.


Sign up now

char[???]...

4: Adsense

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.


  • You cannot reply to this topic
3 replies to this topic

#1 Fractal   Members   

122
Like
Likes
Like

Posted 15 October 2001 - 10:59 AM

"int"s I can understand, but what''s with the "char[particular number]"? Without the "[number]", "char" just doesn''t seem to work. Could anyone explain why, and how I could figure out the correct numbers to go inside the "[]" for a particular "char"?

#2 jassmith   Members   

122
Like
Likes
Like

Posted 15 October 2001 - 11:15 AM

A char is just a single character; An int is just a single integer. By defining an integer array like:
int iName[10];
you create ten integers. The same thing with characters:
char cName[10];
creates an array of ten characters. They both are accessed the same, except for their type of course. Note that when declaring the array, the value inside of the brackets must be a constant value. If you want the size of the array to vary depending on some other variable at runtime, you''ll have to use dynamic allocation.

#3 Dale   Members   

122
Like
Likes
Like

Posted 15 October 2001 - 11:55 AM

Another thing....

int number[5] { 1, 2, 3, 4, 5 }

.... is fine. Chars are different.

If you want to use a char as a word it must end with a NULL.

name[0] = ''P''
name[1] = ''l''
name[2] = ''a''
name[3] = ''y''
name[4] = ''e''
name[5] = ''r''
name[6] = NULL
cout << name

.... produces "Player".

-----------------------------
Student - "How do I make my first game?"
Lecturer - "Based on your marks from your last assessment?"

#4 evaclear   Members   

166
Like
Likes
Like

Posted 16 October 2001 - 02:56 AM

quote:
Original post by Fractal
"int"s I can understand,
but what''s with the "char[particular number]"?
Without the "[number]", "char" just doesn''t seem to work.
Could anyone explain why, and how I could figure out the correct numbers to go inside the "[]" for a particular "char"?


Well this is a pretty simple concept. Imagine that you own a set of those alphabet blocks that you always see children playing with on TV. In our case a single alphabet block is a char or "Character". Now when you define something using the []''s it means your making an array (or more than 1). So in order to represent this with our alphabet blocks, we take them and put one on top of the other. Once the blocks are all stacked you can get the data in the top block by going to [0]. The second blocks data is at [1], Third blocks data is at [2]...and so on.

So here is an example
char CharacterArray[12] = "Hello World\0";

(the \0 is what''s called a null terminator. This special character is needed only when you have a character array. When the computer reads a string it will continue until it finds a \0 to stop it. So if you forget the \0 at the end of your string, the computer will usualy keep reading memory until it finds one, which will give you a bunch of crap on the screen.)

Now if you access :
CharacterArray[0] you get the character ''H''
CharacterArray[1] you get the character ''e''
CharacterArray[2] you get the character ''l''
CharacterArray[3] you get the character ''l''
CharacterArray[4] you get the character ''o''
CharacterArray[5] you get the character '' ''
CharacterArray[6] you get the character ''W''
CharacterArray[7] you get the character ''o''
CharacterArray[8] you get the character ''r''
CharacterArray[9] you get the character ''l''
CharacterArray[10] you get the character ''d''
CharacterArray[11] you get the character ''\0''






Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.