一段c++程序
#include<iostream>
#include<stdlib.h>
using std::cout;
using std::endl;
int main()
{
const char ca[]={'h','e','l','l','o'};
const char *cp=ca;
while(*cp)
{
cout<<*cp<<endl;
++cp;
}
system("pause");
return 0;
}
编译程序没有错误,但是不知道为什么每次运行结果都不一样????
2. 关于数组的动态释放空间
C++语言为指针提供delete [] 表达式释放指针所指向的数组空间:
delete [] pia;
该语句回收了指针pia所指向的数组,把相应的内存返还给自由存储区。
3. 注意区别以下两点:
int *ip[4]; //array of pointers to int
int (*ip)[4]; //pointer to an array of 4 ints
4. 算术表达式
21%-5; //machine-dependent:result is 1 or -4
21/-5; //machine-depended:result is -4 or -5
当只有一个操作数为负数时,求模操作结果值得符号可依据分子(被除数)或分子(除数)的符号而定。如果求模的结果随分子的符号,则除出来的值向零一侧取整;如果求模与分母的符号匹配,则除出来的值向负无穷一侧取整。
今天学习了primer的数组和指针部分,以及第五章表达式部分。