Chinaunix首页 | 论坛 | 博客
  • 博客访问: 915610
  • 博文数量: 453
  • 博客积分: 7865
  • 博客等级: 少将
  • 技术积分: 5673
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-29 16:21
个人简介

时光荏苒..

文章分类
文章存档

2015年(46)

2014年(22)

2013年(68)

2012年(218)

2011年(99)

分类: C/C++

2013-06-19 18:02:19

#include <iostream>
using namespace std;
 
int main()
{
    int var(10);
    cout << var<;
}
 
--------------------------------------------------------------
 
变量和文字常量都有存储区,且有相关的类型
区别在于  变量是 可寻址的。
 
 
初始化:
string project;
project是一个已经初始化的类对象。?????????????????
被缺省的string类 自动初始化。
 
初始化语法:
两种形式:
1. 使用赋值操作符
2. 括号中。
 
3. 另外,每种内置数据类型都支持一种特殊的构造函数语法,可将对象初始化为 0.例如:
设置ival为0,dval为0.0 int ival = int(); double dval = double();
C++提供了一组预定义的数据类型,如字符型、整型、浮点型,以及一组 基本的数据抽象如string、vector 和复数
 
 
 
指针:
int *pi;
double *pd;
double dval;
不是说pi 在物理上不能持有与dval 相关联内存的地址,它能够,但是不允许。因为
然pi 和pd 能够持有同样的地址值但对那块内存的存储布局和内容的解释却完全不同

---------------------------------------------
类型的重要性:
类型 即 意义  按照类型 来解释。::
char short int 和long 称为整值类型(integral type)。 整值类型可以有符号,也可以无符号。
在有符号类型中,最左边的位是符号,位余下的位代表数值。
在无符号类型中,所有的位都表示数值。
如果符号位被置为1 数值被解释负数,如果是0 则为正数
 
 
long类型 长度:  与 机器有关。
long 为一个或个机器字。在32 位机器中int 和long 通常长度相同
 
 
文字常量: 即代码中的常量
当一个数值,例 如1,出现在程序中时。:它被称为文字常量。
每个文字都有相应的类型,例如0 是int 型,而3.14159 是double型的文字常量。
 
常量的类型一样很重要。
这也就是所说的,常量和变量一样 也是有类型的。  无类型,如何做右值??
 
文字常量是不可寻址的(nonaddressable)尽管它的值也存储在机器内存的某个地方但是我们没有
办法访问它们的地址.(和代码区有些类似)
 
 
写法:(表达方法而已)  不会改变 位序列(存储方式):存储只与 类型有关。与代码的写法无关。
整数文字常量可以被写成十进制、八进制或者十六进制的形式(这不会改变该整数值的位序列)。例如20 可以写成下面三种形式中的任意一种:
20 // 十进制
024 // 八进制
0x14 // 十六进制
在整型文字常量前面加一个0 该值将被解释成一个八进制数而在前面加一个0x 或0X会使一个整型文字常量被解释成十六进制数
 
表达形式:  来表达是 其他类型 的 文字常量
在缺省情况下,整型文字常量 被当作是 一个int 型的有符号值。我们可以在文字常量后面加一个 L 或l 字母L 的大写形式或者小写形式将其指定为long 类型一般情况下我们应该避免使用小写字母因为它很容易被误当作数字1 类似地我们可以在整型文字常量的后面加上u 或U 将其指定为一个无符号数此外我们还可以指定无符号long 型的文字常量例如:
128u 1024UL 1L 8Lu
 
既然文字常量有类型的,那么 字符型的 文字常量:
 
可打印的 文字 字符常量 可以写成用单引号括起来的形式例如(字符  单引号括起来)
'a' '2' ',' ' ' (空格)
一部分不可打印的字符、单引号、双引号,以及反斜杠可以用如下的转义序列来表示:
转义序列以反斜杠开头
newline(换行符) \n
horizontal tab(水平制表键) \t
vertical tab(垂直制表键) \v
backspace(退格键) \b
carriage return (回车键) \r
formfeed (进纸键) \f
alert (beel) (响铃符) \a
backslash (反斜杠键) \\
question mark (问号) \?
single quote (单引号) \'
double quote (双引号) \"

一般的转义序列采用如下格式
\ooo
这种转义序列由\加上1~3个八进制数字组成,或者由\x(大写的\X也可以)加上1~2个十六进制数字组成
 
------------------------------------------------------------
 
但是我们仍然不能讲出在地址1032 处的内容的意义。为什么呢?因为不知道怎样解释这些位序列。为了说明在地址1032 上的字节的意义,我们必须知道这些值代表的类型
类型抽象使我们能够对一个定长的位序列进行有意义的解释。C++提供了一组预定义的数据类型,如字符型、整型、浮点型,以及一组 基本的数据抽象如string、vector 和复数。
--------------------------------------------------------------------------------------------------------------------------------------------------

变量—— 为我们提供了一个有名字的 内存存储区, 可以通过程序对 其 进行 读、写等。
每个符号变量 都与 一个特定的 数据类型想关联。


变量和文字常量
共同点: 都有存储区, 且  有相关的类型
区别:  变量是 可寻址的。



初始化:
类 机制  通过 缺省构造函数提供了类对象的自动初始化:
若声明的类中没有声明构造函数,编译器会自动调用一个缺省构造函数
而当类中已经有声明的构造函数时,编译器就不会调用缺省构造函数

初始化方式:
int ival(121);
int  ival=121;
int ival=int(121);
初始化为0:
int ival=int();  //0
double dval=double(); //0.0


指针类型:
指针 持有 另一个对象的地址。使我们能够间接地 操作这个对象

空 指针 类型:
如果我们要做的仅仅是 持有 地址值,那么指针的实际类型就不重要了。
空类型 指针 ,它可以被任何数据的指针类型 赋值。(处理函数指针)


指针 pi ——
写下pi   时,将计算pi当前持有的值, 即 保存的 地址值。
指针类型  pi  的值 ,就是 地址值


&pi  就当 pi是 普通变量就行!
即, &pi 是 变量pi的 地址。 表示 用 int* * ppi=&pi;
int **  表示 首先是一个指针 , 这个指针 指向的对象是一个指针类型 而已

strlen 依靠 \0来就 长度:
 const char s[]={0,'h','b'};//,'e','l','l','o'};
 int len=strlen(s);
如果strlen 操作的是 一个字符数组,且数组中没有0,那么strlen的结果是不确定的!!  会以它遇到的第一个\0为止,来计算结果。


string 类型:
初始化
string st("hello,world");

string st; 空
string st2(st); 用 st来初始化st2


初始化为0:
int  a = int(); //a=0;  合法的
int  a (int()); //不为0; 非法的
int a(0);//a=0;

const char

const 重要性!:
const int bufsize = 512;
这样可以防止 在别处意外修改。 我们一开始定义成const, 就可以做到。


const的使用可以程序更完善,不易出错!! 而且可以防止一些不易查找的错误!

既然我们不打算修改一个变量,那么就 指定其为const类型的!


引用!
有时候又称为别名,





























阅读(1017) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~