1, 在C++语言中变量分为auto,static,extern和register四种存储类型
2, 内部静态变量的作用域是定义它的函数
3, 外部静态变量的作用域是定义它的文件转贴
4,cout,clog,cerr 是ostream类的对象
5.C语言中标识附由字母数字下划线组成,数字不能开头
6,8位二进制原码表示整数的范围是11111111~011111111,即-(27-1)=-127~27-1=127。
7,
题目1中传入中GetMemory( char *p )函数的形参为字符串指针,在函数内部修改形参并不能真正的改变传入形参的值,执行完char *str = NULL;GetMemory( str ); 后的str仍然为NULL;题目2中char p[] = "hello world"; return p; 的p[]数组为函数内的局部自动变量,在函数返回后,内存已经被释放。这是许多程序员常犯的错误,其根源在于不理解变量的生存期。
题目1:
void GetMemory( char *p )
{
p = (char *) malloc( 100 );
}
void Test( void )
{
char *str = NULL;
GetMemory( str );
strcpy( str, "hello world" );
printf( str );
}
题目2:
char *GetMemory( void )
{
char p[] = "hello world";
return p;
}
void Test( void )
{
char *str = NULL;
str = GetMemory();
printf( str );
}
大部分的操作符是可以被重载的,例外的只有“.”、“::”、“?:”和“sizeof”。
“=”与“==” 的区别:“=”表达式将其右侧的表达式的值(结果)送入“=”左侧变量所代表的内存单元中,它的左侧只能是变量,不能是常量或其他表达式。“==”的左右两侧都可以是变量、常量或表达式(包括赋值表达式),是用来比较“==”两侧的值(结果)是否相同。其结论是一个逻辑值。
优先级:>、<、>=、<=具有相同的优先级并且高于具有相同优先级的!=、==。关系运算符的优先级高于赋值运算符而低于算术运算符。
结合方向:自左向右(左结合性)。
对于结构中定义的成员,其隐含访问权限为PUBLIC