最近学习了C++中的指针与数组部分,把一些学习笔记及心得分享一下供大家参考,小白之作,请大家多多提建议
应用的编辑器为VS2010
一、指针
1、指针数组与数组指针
声明方式:
int *a[10]; // 指针数组 数组中的元素均为指针变量
int (*a)[10]; // 数组指针 指向长度为10的一维数组的指针
2、指针所存地址的显示
可以以十六进制的形式来显示地址 ,输出时利用格式控制符 %08X ,它表示的输出形式为 大写的16进制 右对齐 不足8位补零 (参考例程1.1)
3、指向指针的指针
int * *pa ; // 这里的pa就是指向指针数据的指针变量 ,它可以指向指针变量,也就是存放指针变量的地址
例程1.1
#include "iostream"
#include"dos.h"
#include <afxwin.h>
using namespace std;
void main()
{
int*(*p),*q,v;
v=2;
q=&v;
p=&q; //指向指针的指针p 中存放的是 指针q 的地址
CString str;
str.Format(" p中存放的指针q的地址为 %08X q中存放的变量v的地址为 %08X ", p ,q);
cout<<str<<endl;
system("pause");
}
若出现
fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version.
Please #define _AFXDLL or do not use /MD[d] 编译错误
可以通过点击菜单项 属性-》配置属性-》MFC的使用-》在共享 DLL 中使用 MFC
此外
点击菜单项 属性-》配置属性-》字符集-》使用多字节字符集
二、二维数组与一