今天天气好晴朗处处好风光,好天气好开始,图老师又来和大家分享啦。下面给大家推荐c/c++中结构体的入门教程,希望大家看完后也有个好心情,快快行动吧!
【 tulaoshi.com - 编程语言 】
什么是结构体?
//程序作者:管宁
//站点:www.cndev-lab.com
//所有稿件均有版权,如要转载,请务必闻名出处和作者
#include iostream
#include string
using namespace std;
struct test//定义一个名为test的结构体
{
int a;//定义结构体成员a
int b;//定义结构体成员b
};
void main()
{
test pn1;//定义结构体变量pn1
test pn2;//定义结构体变量pn2
pn2.a=10;//通过成员操作符.给结构体变量pn2中的成员a赋值
pn2.b=3;//通过成员操作符.给结构体变量pn2中的成员b赋值
pn1=pn2;//把pn2中所有的成员值复制给具有相同结构的结构体变量pn1
coutpn1.a""pn1.bendl;
coutpn2.a""pn2.bendl;
test *point;//定义结构指针
point=&pn2;//指针指向结构体变量pn2的内存地址
coutpn2.a""pn2.bendl;
point-a=99;//通过结构指针修改结构体变量pn2成员a的值
coutpn2.a""pn2.bendl;
coutpoint-a""point-bendl;
cin.get();
}
//程序作者:管宁
//站点:www.cndev-lab.com
//所有稿件均有版权,如要转载,请务必闻名出处和作者
#include iostream
#include string
using namespace std;
struct test
{
char name[10];
float socre;
};
void print_score(test pn)//以结构变量进行传递
{
coutpn.name""pn.socreendl;
}
void print_score(test *pn)//一结构指针作为形参
{
coutpn-name""pn-socreendl;
}
void main()
{
test a[2]={{"marry",88.5},{"jarck",98.5}};
int num = sizeof(a)/sizeof(test);
for(int i=0;inum;i++)
{
print_score(a[i]);
}
for(int i=0;inum;i++)
{
print_score(&a[i]);
}
cin.get();
}
//程序作者:管宁
//站点:www.cndev-lab.com
//所有稿件均有版权,如要转载,请务必闻名出处和作者
#include iostream
#include string
using namespace std;
struct test
{
char name[10];
float socre;
};
void print_score(test &pn)//以结构变量进行传递
{
coutpn.name""pn.socreendl;
}
void main()
{
test a[2]={{"marry",88.5},{"jarck",98.5}};
int num = sizeof(a)/sizeof(test);
for(int i=0;inum;i++)
{
print_score(a[i]);
}
cin.get();
}
更多内容请看ASP.NET教程 C/C++技术学堂 C/C++技术专题专题,或 上面我们说明了易用引用对结构体进行操作的优势,下面我们重点对比两个例程,进一部分析关于效率的问题。
//程序作者:管宁
//站点:www.cndev-lab.com
//所有稿件均有版权,如要转载,请务必闻名出处和作者
//-------------------------------------例程1---------------------------------
#include iostream
#include string
using namespace std;
struct test
{
char name[10];
float socre;
};
void print_score(test &pn)
{
coutpn.name""pn.socreendl;
}
test get_score()
{
test pn;
cinpn.namepn.socre;
return pn;
}
void main()
{
test a[2];
int num = sizeof(a)/sizeof(test);
for(int i=0;inum;i++)
{
a[i]=get_score();
}
cin.get();
for(int i=0;inum;i++)
{
print_score(a[i]);
}
cin.get();
}
//-------------------------------------例程2---------------------------------
#include iostream
#include string
using namespace std;
struct test
{
char name[10];
float socre;
};
void print_score(test &pn)
{
coutpn.name""pn.socreendl;
}
void get_score(test &pn)
{
cinpn.namepn.socre;
}
void main()
{
test a[2];
int num = sizeof(a)/sizeof(test);
for(int i=0;inum;i++)
{
get_score(a[i]);
}
cin.get();
for(int i=0;inum;i++)
{
print_score(a[i]);
}
cin.get();
}
//程序作者:管宁
//站点:www.cndev-lab.com
//所有稿件均有版权,如要转载,请务必闻名出处和作者
#include iostream
#include string
using namespace std;
struct test
{
char name[10];
float socre;
};
test a;
test &get_score(test &pn)
{
cinpn.namepn.socre;
return pn;
}
void print_score(test &pn)
{
coutpn.name""pn.socreendl;
}
void main()
{
test &sp=get_score(a);
cin.get();
coutsp.name""sp.socre;
cin.get();
}
void main()
{
int a=0;
int b=10;
int *p1=&a;
int *p2=&b;
int *&pn=p1;
cout pn""*pnendl;
pn=p2;
cout pn""*pnendl;
cin.get();
}
来源:http://www.tulaoshi.com/n/20160219/1620549.html
看过《c/c++中结构体的入门教程》的人还看了以下文章 更多>>