鱼C论坛

 找回密码
 立即注册
查看: 1673|回复: 0

[技术交流] 五.复杂的数据类型《1》

[复制链接]
发表于 2015-4-2 00:03:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1.数组和C语言一样没多大区别
2.字符串的话就有很大区别,C++针对字符串实现了一个内建的类(对象)string,当然他是在std的命名空间下的。

3.std::cin不能将空格以及其他不可见字符输送到string类型的变量(称之为对象更合适)。所以我们需要使用std::getline方法将不可见字符输送到string类型的对象。比如以下代码。

#include <iostream>
#include <string>

int main( void )
{
     std ::string str;
     std ::cout << "请输入一个字符串" << "\n" ;

     std ::getline ( std:: cin ,str );

     std ::cout << str <<"\n" ;

     system ("PAUSE" );

     return 0 ;
}

4.内存对齐
程序编译链接之后会形成一个个的区块,而区块在文件和内存中要按照一定的格式来对齐。操作系统有时按照页为单位的方式来对齐区块。一般32为系统是1000H=4KB的对齐,64位系统则是8KB为一页。文件一般是100H对齐。


5.变量地址在程序执行期间不会改变。但是如果同一个程序不同时间加载到内存中,那么同一个变量的地址可能不一样。

6指针变量与地址
指针它也是一种变量,一种存储地址值的变量。他就是为了存放地址的。
7.指针变量的声明
数据type  *指针名称。
前面的数据type指明了这个指针变量存放的地址所存放的数据类型,因此应用指针的时候要注意类型匹配。

而且声明指针的时候最好一行声明一个指针变量。因为有时候如果声明成
int* a,b,c,d;只会把第一个变量声明成指针,其他不是指针变量。
8.void指针
void  *指针名;
声明了一个void类型的指针表示他具体指向什么类型的数据暂时不知道,但是他可以接受来自不同数据类型的变量的赋值,或强制转换类型以后赋值给其他变量。
对他引用之前必须进行类型转换。


9.指针通过解引用可以访问变量或者说访问内存。但是使用指针的前提是确保他对应一个已经存在的变量或者说一块已经分配了的内存。避免空指针和也只真的出现以及使用。

10.关于*号。声明的时候只是告诉编译器和用户他是声明一个指针。
解引用就是取内容操作符。

11.多个指针可以指向同一块内存。









本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-25 08:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表