当前位置: 首页 > news >正文

腾讯云国外服务器深圳优化seo排名

腾讯云国外服务器,深圳优化seo排名,中国空间站图片,南阳注册公司多少钱在运行时创建数组优于在编译时创建数组,对于结构(同一个结构可以存储多种类型的数据。)也是如此。需要在程序运行时为结构分配所需的空间,这也可以使用new运算符来完成。通过使用new,可以创建动态结构。同样&#xff0…

在运行时创建数组优于在编译时创建数组,对于结构(同一个结构可以存储多种类型的数据。)也是如此。需要在程序运行时为结构分配所需的空间,这也可以使用new运算符来完成。通过使用new,可以创建动态结构。同样,“动态”意味着内存是在运行时,而不是编译时分配的。由于类与结构非常相似,因此有关结构的技术也适用于类。

将new用于结构分为两步:创建结构和访问其成员。

例如,要创建一个未命名的inflatable类型,并将其地址赋给一个指针,可以这样做:

inflatable *ps = new inflatable;

这将把足以存储inflatable结构的一块可用内存的地址赋给ps。

关于访问成员。创建动态结构时,不能将成员运算符句点用于结构名,因为这种结构没有名称,只是知道它的地址。C++专门为这种情况提供了一个运算符:箭头成员运算符(->),该运算符由连字符和大于号组成,可用于指向结构的指针。例如,如果ps指向一个inflatable结构,则ps->price是被指向的结构的price成员。

如果结构标识符是结构名,则使用句点运算符;如果标识符是指向结构的指针,则使用箭头运算符。

另一种访问结构成员的方法,如果ps是指向结构的指针,则*ps就是被指向的值——结构本身。由于*ps是一个结构,因此(*ps).price是该结构的price成员

//4.21使用new创建一个未命名的结构,并演示了两种访问结构成员的指针表示法
#include<iostream>
using namespace std;struct inflatable
{char name[20];float volume;double price;
};int main()
{inflatable *ps = new inflatable;  //为结构分配内存cout << "Enter name of inflatable item: ";cin.get(ps->name, 20);cout << "Enter volume in cubic feet: ";cin >> (*ps).volume;cout << "Enter price: $";cin >> ps->price;cout << "Name: " << (*ps).name << endl;cout << "Volume: " << ps->volume << " cubic feet\n";cout << "Price: $" << ps->price << endl;delete ps;system("pause");return 0;
}

下面介绍一个使用new和delete来存储通过键盘输入的字符串的示例。程序清单4.22定义了一个函数getname(),该函数返回一个指向输入字符串的指针。该函数将输入读入到一个大型的临时数组中,然后使用new[]创建一个刚好能够存储该输入字符串的内存块,并返回一个指向该内存块的指针。对于读取大量字符串的程序,这种方法可以节省大量内存。

假设程序要读取100个字符串,其中最大的字符串包含79个字符,而大多数字符串都短得多。如果用char数组来存储这些字符串,则需要1000个数组,其中每个数组的长度为80个字符。这总共需要80000个字节,而其中的很多内存没有被使用。另一种方法是,它包含1000个指向char的指针,然后使用new根据每个字符串的需要分配相应数量的内存。是根据输入来分配内存,而不是为每个字符串使用一个大型数组。

//4.22定义了一个函数getname(),该函数返回一个指向输入字符串的指针。
//该函数将输入读入到一个大型的临时数组中,然后使用new[]创建一个刚好能够存储该输入字符串的内存块,并返回一个指向该内存块的指针
#include<iostream>
#include<string.h>
using namespace std;
char *getname(void);//函数原型:指函数的声明部分,包括函数名、参数列表和返回值类型,但不包括函数体。int main()
{char *name;name = getname();//分配字符串地址给name//一般来说,如果给cout提供一个指针,它将打印地址。但如果指针的类型为char*,则cout将显示指向的字符串,如上一行代码。//如果要显示字符串的地址,则必须将这种指针强制转换为另一种指针类型,如int*。如下面的代码。cout << name << " at " << (int *)name << endl;delete [] name;name = getname();//reuse freed memorycout << name << " at " << (int *)name << endl;delete[] name;system("pause");return 0;
}char *getname()//返回指针给新的字符串
{char temp[80];cout << "Enter last name: ";cin >> temp;char *pn = new char[strlen(temp) + 1];strcpy_s(pn,80,temp);//copy string into smaller space return pn;
}

http://www.dinnco.com/news/8568.html

相关文章:

  • 海沧区建设局网站 破路申请免费seo网站优化
  • 图片生成器网站做seo必须有网站吗
  • 献县网站建设价格哈市今日头条最新
  • seo网站结构优化登封网络推广
  • 现在哪些网站做外贸的好做怎么把产品快速宣传并推广
  • 武汉襄阳网站推广公司哪家好seo网络推广排名
  • 做网站很麻烦吗百度一下百度首页登录
  • jsp做的网站后台信息网站优化就是搜索引擎优化
  • 旅游网站设计的目的与意义windows优化大师有必要安装吗
  • 非响应式网站优点搜索引擎的优化和推广
  • 南通seo公司网站网站快照优化公司
  • 西安市做网站公司有哪些百度公司电话是多少
  • 买一个域名seo草根博客
  • 高明区做网站seo发帖论坛
  • 电视剧在线观看完整版免费网站免费网站提交入口
  • 网站竞价欧洲站fba
  • 湘潭做网站 磐石网络优质seo是指搜索引擎优化
  • wordpress 编辑器 高亮 引用seo百度站长工具
  • 食品包装设计要点seo综合查询工具
  • 店铺logo图片免费生成软件长沙哪里有网站推广优化
  • dede怎么做音乐网站站长工具大全集
  • 滨湖网站建设查询网站流量
  • 电子商务网站后台查看浏览过的历史记录百度
  • 宝和网站建设seo是做什么工作内容
  • 唐山网站建设找汉狮百度灰色词优化排名
  • 营销型外贸网站建设软件深圳新闻最新事件
  • 建设小型网站系统开题报告最快的新闻发布平台
  • 做商城网站的公司软文写作
  • 家具行业网站整站模板网络营销的效果是什么
  • 电商网站开发文献汇总b站推广入口2022