C语言变量数据类型与字符串处理
1. 数组与指针的关系
在C语言中, ROLLS[]
和 *ROLLS
本质上是相同的,它们都表示指向 int
类型的指针,并且都可用于访问数组元素。例如 PrintRolls()
函数的参数声明,既可以使用 void PrintRolls( int *rolls )
,也可以使用 void PrintRolls( int rolls[] )
。
这里有一个使用建议:如果声明的参数将指向数组,建议使用方括号形式;否则,使用普通指针形式。
下面是一个简单的 PrintX()
函数示例,它使用 for
循环打印指定数量的 x
:
void PrintX( int howMany ) {
int i;
for ( i=1; i<=howMany; i++ )
printf( "x" );
}
2. 数组越界的危险
在编写代码时,需要特别注意数组越界问题。例如下面这段代码:
int myInts[ 3 ];
for ( i=0; i<20; i++ )
myInts[ i ] = 0;