我从来没有完全理解过指针。我写这个极简的二十一点游戏是为了学习的乐趣,我需要确认指针的这种使用是合法的,这样我才能完全理解它们的作用。
目前这是我正在使用的程序和功能的一个示例:
void dealcard(int hand){
hand+=rand()%10+2;
}
int()main{
int playerHand;
...
*blackjack stuff*
...
if(hit){
deal(hand);
}
现在,如果我是正确的,上述内容将无法按我的预期工作,因为该函数使用变量的副本,该副本在应用于原始变量之前已被清除,并且hand
永远不会被更改。
如果我把它改成类似
int b;
int *hand;
hand=&b;
并将函数声明更改为包含*
, 那么这是正确的。
我真的很努力地理解指针,我很感激任何帮助或确认,这样我才能理解它们的基本用处。