• FEATURED

View more

View more

View more

Image of the Day Submit

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[???]...

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.

3 replies to this topic

#1Fractal  Members

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"?

#2jassmith  Members

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.

#3Dale  Members

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?"

#4evaclear  Members

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.