空间表SpaceList

时间:2023-02-17 20:43:36

比如在建一个成绩管理系统,这时候定义的名字一般都是char szName[20],这样比较浪费,其实不只是定义名字,定义好多变量都这样,并没有体现动态。

此处出现空间表(SpaceList),通过指针偏移,实现内存的零浪费,但是缺点是无法修改。只适合储存一些不变的东西,比如科目等。

return this + 1; //跳过此结构体,指针直接到它的后面
 // ceshi2.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"
#include <iostream>
#include <Windows.h>
using namespace std;
/*
空间表 SpaceList
*/
typedef struct _BUFFER_OBJECT_
{
int iAge;
char* szName;
void* Sub_1() //泛型指针
{
return this + ;
}
}BUFFER_OBJECT,*PBUFFER_OBJECT;
typedef struct _NODE_OBJECT
{
int iOffset;
BUFFER_OBJECT BufferObject;
}NODE_OBJECT,*PNODE_OBJECT;
int main()
{
PNODE_OBJECT v1 = (PNODE_OBJECT)malloc(); PNODE_OBJECT TravelNodeObject = v1;
for (int i = ; i < ; i++)
{
cin >> TravelNodeObject->BufferObject.iAge; //
TravelNodeObject->BufferObject.szName = (char*)(TravelNodeObject->BufferObject.Sub_1());
cin >> TravelNodeObject->BufferObject.szName;
TravelNodeObject->iOffset = sizeof(NODE_OBJECT) + strlen(TravelNodeObject->BufferObject.szName);
TravelNodeObject = (PNODE_OBJECT)((UINT_PTR)TravelNodeObject + TravelNodeObject->iOffset);
}
return ;
}

空间表SpaceList的更多相关文章

  1. Oracle Spatial 创建空间表、添加空间原表信息、添加删除空间索引

    一.创建空间表 创建一个空间表tbsvrc_buffer_t ,SQL如下: create table tbsvrc_buffer_t(  ID      VARCHAR2(50) not null, ...

  2. Oracle起步---创建临时表空间&sol;表空间&sol;创建用户&sol;授权

    1. 安装: 百度一下你就知道 2. sqlplus登录/sqlplus命令登录 在安装Oracle时,你需要记住设置的“全局数据库名”(默认为orcl) 和 口令,在以两种方式登录时: 用户名: s ...

  3. 可利用空间表(Free List)

    写这篇文章的动因是因为 2015 年 04 月 02 日的阿里在线笔试题考到了这个知识点.我当时模模糊糊的写了一些,估计写的也不对,所以在这里总结一下. 原题 常常会有频繁申请.释放内存的需求,比如在 ...

  4. SDE 空间表操作

    1. 创建空间表(包含st_geometry属性字段) CREATE TABLE sensitive_areas (area_id integer, name varchar(128), area_s ...

  5. oracle表空间表分区详解及oracle表分区查询使用方法&lpar;转&plus;整理&rpar;

    欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...

  6. oracle 表空间 表权限 用户

    启动数据库命令分为三个阶段: 1.查看所有用户:select * from dba_user;select * from all_users;select * from user_users;2.查看 ...

  7. Oracle基础--创建临时表空间&sol;表空间&sol;创建用户&sol;授权

    总结:创建用户一般分四步: 第一步:创建临时表空间(创建用户之前要创建"临时表空间",若不创建则默认的临时表空间为temp.) SQL> CREATE TEMPORARY T ...

  8. 通过SQL直接插入、修改ArcGIS SDE空间表中的数据

    基于Arcgis Server 10.1 +Oracle 11g环境测试 ArcGIS SDE ? 1 2 INSERT INTO CAMERA_INFO(OBJECTID,ID,SHAPE)     ...

  9. oracle 创建临时表空间&sol;表空间,用户及授权

    1:创建临时表空间 create temporary tablespace user_temp tempfile 'Q:\oracle\product\10.2.0\oradata\Test\xyrj ...

随机推荐

  1. Mac下手动安装Chromedriver&period;exe

    Mac OS X Yosemite 10.10.4下,ChromeDriver运行异常,需要手动安装chromedriver.exe Step 1: 打开https://sites.google.co ...

  2. Winform GDI&plus; 相关资料

    在Visual Studio 2010中定义GDI+自定义控件——自定义控件介绍 http://www.cnblogs.com/zhangdong/archive/2010/05/20/1740177 ...

  3. C&num; ZipHelper C&num;公共类 压缩和解压

    关于本文档的说明 本文档基于ICSharpCode.SharpZipLib.dll的封装,常用的解压和压缩方法都已经涵盖在内,都是经过项目实战积累下来的 1.基本介绍 由于项目中需要用到各种压缩将文件 ...

  4. 如何在mac上安装composer(How to install composer on the Mac)

    Change into a directory in your path like cd /usr/local/bin Get Composer curl -sS https://getcompose ...

  5. RHEL 6&period;4 安装svn和apache

    1.安装软件包(RHEL已经按默认设置安装完成) 需要安装的.rpm软件包: postgresql-libs perl-URI subversion mod_dav_svn 2.创建svn文件夹和版本 ...

  6. MySQL server version for the right syntax to use near &amp&semi;&num;39&semi;type&equals;InnoDB&amp&semi;&num;39&semi; at line 1

    转载请注明出处:http://blog.csdn.net/bettarwang/article/details/40180271 在执行一个Hibernate的演示样例时,配置了<propert ...

  7. &lbrack;Swift&rsqb;LeetCode243&period;最短单词距离 &dollar; Shortest Word Distance

    Given a list of words and two words word1 and word2, return the shortest distance between these two ...

  8. 【转】教你用C&num;读写、删除、更新excel表格记录

    文章出处:http://blog.csdn.net/kuangshazi515/article/details/6585118 如下图所示,编一个程序,鼠标单击窗体视图区(右边)时,获取一对坐标(X, ...

  9. UVa 11609 组队(快速幂)

    https://vjudge.net/problem/UVA-11609 题意: 有n个人,选一个或多个人参加比赛,其中一名当队长,有多少种方案?如果参赛者完全相同,但队长不同,算作不同的方案. 思路 ...

  10. OGNL与值栈

    一.OGNL入门 1.什么是OGNL OGNL的全称是对象图导航语言(Object-Graph Navigation Language),它是一种功能强大的开源表达式语言.使用这种表达式语言,可以通过 ...