cpp: point
// ConsoleStructSimpleApp.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
#include <fstream>//文件操作
#include <sstream>//int转string
#include <iomanip>//cout格式化输出 setw()
#include <stdlib.h>
#include "GeovinDu.h"
using namespace std;
using namespace DuStructSimple;
//#pragma pack(2)
/// <summary>
///
/// </summary>
enum weekdayname
{
/// <summary>
///
/// </summary>
SUN=1,
/// <summary>
///
/// </summary>
MON=2,
/// <summary>
///
/// </summary>
TUE=3,
/// <summary>
///
/// </summary>
WED=4,
/// <summary>
///
/// </summary>
THU=5,
/// <summary>
///
/// </summary>
FRI=6,
/// <summary>
///
/// </summary>
SAT=7
};
/// <summary>
///
/// </summary>
enum color
{
red = 5,
blue,
green
};
union person
{
int age;
char name[256];
char sex[2];
};
union person2
{
int age;
char name;
char sex;
}du;
void func(int** pp)
{
*pp= new int(3);
//*pp = 40;
cout << "pp=" << pp << ",*pp=" << *pp <<",**pp=" << **pp<< endl;
}
void func2(int* pp)
{
*pp = 3;
cout << "pp2=" << pp << ",*pp2=" << *pp << endl;
}
int main()
{
int* dup=0;
func(&dup);
cout << "p==" << dup << ",*p==" << *dup << endl;
//2
cout << "**************2*************" << endl;
int dup2 = 1;
func2(&dup2);
cout << "p2==" << dup << ",&p2==" << &dup << endl;
int a = 10;
cout << "&a=" << &a << endl;
int* p = &a;
cout << "p=" << p <<",&p="<<&p<<",*p="<<*p << endl;
int** j = &p;
cout << "j=" << j << ",&j=" << &j << endl;
cout << "*j=" << *j << endl;
cout<<",**j="<<**j<< endl;
//person per;
//per.age = 30;
////per.name = "g";
////per.sex = "m";
//cout << "person内存:" << sizeof(person) << endl;
//cout << "person2 内存:" << sizeof(person2) << endl;
//cout << "person sex内存 " << sizeof(per.sex) << endl;
//cout << "person2 sex内存 " << sizeof(du.sex) << endl;
////地址相同:
//cout << "per.name=" << &per.name << endl;
//cout << "per.age=" << &per.age << endl;
//cout << "per=" << &per << endl;
// std::cout << "Hello World!涂聚文 Geovin Du\n";
//int num;
//cout << "输入5-7(红,蓝,绿):" << endl;
//cin >> num;
//switch (num)
//{
//case 5:
// cout << "红色" << endl;
// break;
//case 6:
// cout << "蓝色" << endl;
// break;
//case 7:
// cout << "绿色" << endl;
// break;
//default:
// cout << "错误!" << endl;
// break;
//}
//cout << "枚举类型:" << endl;
//cout << SUN <<","<<MON<<","<<TUE<<"," << WED <<","<<THU<<","<<FRI<<","<<SAT<< endl;
//enum weekdayname day;
//day = FRI;
//cout << day << endl;
//GeovinDu geovin;
//
//geovin.DisplayStructSize();
//geovin.displayStudent();
// 无用
//geovin.dispalyStructDemo();
//
//
//geovin.dsipalyFuntion();
//geovin.dipslayStructCustomer();
system("pause");
return 0;
}
// 运行程序: Ctrl + F5 或调试 >“开始执行(不调试)”菜单
// 调试程序: F5 或调试 >“开始调试”菜单
// 入门使用技巧:
// 1. 使用解决方案资源管理器窗口添加/管理文件
// 2. 使用团队资源管理器窗口连接到源代码管理
// 3. 使用输出窗口查看生成输出和其他消息
// 4. 使用错误列表窗口查看错误
// 5. 转到“项目”>“添加新项”以创建新的代码文件,或转到“项目”>“添加现有项”以将现有代码文件添加到项目
// 6. 将来,若要再次打开此项目,请转到“文件”>“打开”>“项目”并选择 .sln 文件

// ConsoleStructSimpleApp.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
#include <fstream>//文件操作
#include <sstream>//int转string
#include <iomanip>//cout格式化输出 setw()
#include <stdlib.h>
#include "GeovinDu.h"
using namespace std;
using namespace DuStructSimple;
//#pragma pack(2)
/// <summary>
///
/// </summary>
enum weekdayname
{
/// <summary>
///
/// </summary>
SUN=1,
/// <summary>
///
/// </summary>
MON=2,
/// <summary>
///
/// </summary>
TUE=3,
/// <summary>
///
/// </summary>
WED=4,
/// <summary>
///
/// </summary>
THU=5,
/// <summary>
///
/// </summary>
FRI=6,
/// <summary>
///
/// </summary>
SAT=7
};
/// <summary>
///
/// </summary>
enum color
{
red = 5,
blue,
green
};
union person
{
int age;
char name[256];
char sex[2];
};
union person2
{
int age;
char name;
char sex;
}du;
/// <summary>
/// 二级指针
/// </summary>
/// <param name="pp">形参</param>
void func(int** pp)
{
int* p = 0;
int** dup = &p;
*dup = new int(3);
cout << "&pp=" << &pp << endl;
cout << "*pp=" << *pp << endl;
cout << "**pp=" << **pp << endl;
*pp= new int(3);
//*pp = 40;
cout << "pp=" << pp << ",*pp=" << *pp <<",**pp=" << **pp<<",&pp="<<&pp<< endl;
//*pp指向p, pp指向new, &pp指向自已
}
/// <summary>
///
/// </summary>
/// <param name="pp"></param>
void func2(int* pp)
{
*pp = 3;
cout << "pp2=" << pp << ",*pp2=" << *pp << endl;
}
int main()
{
//int* dup=0;
//func(&dup);
//cout << "p==" << dup << ",*p==" << *dup << endl;
//2
cout << "**************2*************" << endl;
int dup2 = 10;
cout << "dup2=" << &dup2 << endl;
int* dupp = &dup2;
cout << "dupp=" << &dupp << endl;
func(&dupp);
cout << "p2==" << dupp << ",&p2==" << &dupp <<",*dupp="<<*dupp << endl;
//3
cout << "3***********" << endl;
int kk = 20;
int* dukk = &kk;
func2(dukk);
cout << "4************" << endl;
int a = 10;
cout << "&a=" << &a << endl;
int* p = &a;
cout << "p=" << p <<",&p="<<&p<<",*p="<<*p << endl;
int** j = &p;
cout << "j=" << j << ",&j=" << &j << endl;
cout << "*j=" << *j << endl;
cout<<",**j="<<**j<< endl;
//person per;
//per.age = 30;
////per.name = "g";
////per.sex = "m";
//cout << "person内存:" << sizeof(person) << endl;
//cout << "person2 内存:" << sizeof(person2) << endl;
//cout << "person sex内存 " << sizeof(per.sex) << endl;
//cout << "person2 sex内存 " << sizeof(du.sex) << endl;
////地址相同:
//cout << "per.name=" << &per.name << endl;
//cout << "per.age=" << &per.age << endl;
//cout << "per=" << &per << endl;
// std::cout << "Hello World!涂聚文 Geovin Du\n";
//int num;
//cout << "输入5-7(红,蓝,绿):" << endl;
//cin >> num;
//switch (num)
//{
//case 5:
// cout << "红色" << endl;
// break;
//case 6:
// cout << "蓝色" << endl;
// break;
//case 7:
// cout << "绿色" << endl;
// break;
//default:
// cout << "错误!" << endl;
// break;
//}
//cout << "枚举类型:" << endl;
//cout << SUN <<","<<MON<<","<<TUE<<"," << WED <<","<<THU<<","<<FRI<<","<<SAT<< endl;
//enum weekdayname day;
//day = FRI;
//cout << day << endl;
//GeovinDu geovin;
//
//geovin.DisplayStructSize();
//geovin.displayStudent();
// 无用
//geovin.dispalyStructDemo();
//
//
//geovin.dsipalyFuntion();
//geovin.dipslayStructCustomer();
system("pause");
return 0;
}
// 运行程序: Ctrl + F5 或调试 >“开始执行(不调试)”菜单
// 调试程序: F5 或调试 >“开始调试”菜单
// 入门使用技巧:
// 1. 使用解决方案资源管理器窗口添加/管理文件
// 2. 使用团队资源管理器窗口连接到源代码管理
// 3. 使用输出窗口查看生成输出和其他消息
// 4. 使用错误列表窗口查看错误
// 5. 转到“项目”>“添加新项”以创建新的代码文件,或转到“项目”>“添加现有项”以将现有代码文件添加到项目
// 6. 将来,若要再次打开此项目,请转到“文件”>“打开”>“项目”并选择 .sln 文件

/// <summary>
/// 指针
/// </summary>
/// <param name="pp">形参</param>
void func3(int* pp)
{
int* p = 0;
int** dup = &p;
*dup = new int(3);
cout << "&pp=" << &pp << endl;
cout << "*pp=" << *pp << endl;
//cout << "**pp=" << **pp << endl;
pp = new int(3);
//*pp = new int(3);
//*pp = 40;
//cout << "pp=" << pp << ",*pp=" << *pp << ",**pp=" << **pp << ",&pp=" << &pp << endl;
cout << "pp=" << pp << ",*pp=" << *pp << ",&pp=" << &pp << endl;
//*pp指向p, pp指向new, &pp指向自已
}
/// <summary>
/// 二级指针
/// </summary>
/// <param name="pp">形参</param>
int func(int** pp)
{
int* p = 0;
int** dup = &p;
*dup = new int(3);
cout << "&pp=" << &pp << endl;
cout << "*pp=" << *pp << endl;
cout << "**pp=" << **pp << endl;
*pp= new int(3);
//*pp = 40;
cout << "pp=" << pp << ",*pp=" << *pp <<",**pp=" << **pp<<",&pp="<<&pp<< endl;
//*pp指向p, pp指向new, &pp指向自已
return **pp;
}
/// <summary>
/// 指针
/// </summary>
/// <param name="pp">形参</param>
int func3(int* pp)
{
int* p = 0;
int** dup = &p;
*dup = new int(3);
cout << "&pp=" << &pp << endl;
cout << "*pp=" << *pp << endl;
//cout << "**pp=" << **pp << endl;
pp = new int(3);
//*pp = new int(3);
//*pp = 40;
//cout << "pp=" << pp << ",*pp=" << *pp << ",**pp=" << **pp << ",&pp=" << &pp << endl;
cout << "pp=" << pp << ",*pp=" << *pp << ",&pp=" << &pp << endl;
//*pp指向p, pp指向new, &pp指向自已
return *pp;
}
/// <summary>
///
/// </summary>
/// <param name="pp"></param>
int func2(int* pp)
{
*pp = 3;
cout << "pp2=" << pp << ",*pp2=" << *pp << endl;
return *pp;
}
哲学管理(学)人生, 文学艺术生活, 自动(计算机学)物理(学)工作, 生物(学)化学逆境, 历史(学)测绘(学)时间, 经济(学)数学金钱(理财), 心理(学)医学情绪, 诗词美容情感, 美学建筑(学)家园, 解构建构(分析)整合学习, 智商情商(IQ、EQ)运筹(学)生存.---Geovin Du(涂聚文)