比如在建一个成绩管理系统,这时候定义的名字一般都是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的更多相关文章
-
Oracle Spatial 创建空间表、添加空间原表信息、添加删除空间索引
一.创建空间表 创建一个空间表tbsvrc_buffer_t ,SQL如下: create table tbsvrc_buffer_t( ID VARCHAR2(50) not null, ...
-
Oracle起步---创建临时表空间/表空间/创建用户/授权
1. 安装: 百度一下你就知道 2. sqlplus登录/sqlplus命令登录 在安装Oracle时,你需要记住设置的“全局数据库名”(默认为orcl) 和 口令,在以两种方式登录时: 用户名: s ...
-
可利用空间表(Free List)
写这篇文章的动因是因为 2015 年 04 月 02 日的阿里在线笔试题考到了这个知识点.我当时模模糊糊的写了一些,估计写的也不对,所以在这里总结一下. 原题 常常会有频繁申请.释放内存的需求,比如在 ...
-
SDE 空间表操作
1. 创建空间表(包含st_geometry属性字段) CREATE TABLE sensitive_areas (area_id integer, name varchar(128), area_s ...
-
oracle表空间表分区详解及oracle表分区查询使用方法(转+整理)
欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...
-
oracle 表空间 表权限 用户
启动数据库命令分为三个阶段: 1.查看所有用户:select * from dba_user;select * from all_users;select * from user_users;2.查看 ...
-
Oracle基础--创建临时表空间/表空间/创建用户/授权
总结:创建用户一般分四步: 第一步:创建临时表空间(创建用户之前要创建"临时表空间",若不创建则默认的临时表空间为temp.) SQL> CREATE TEMPORARY T ...
-
通过SQL直接插入、修改ArcGIS SDE空间表中的数据
基于Arcgis Server 10.1 +Oracle 11g环境测试 ArcGIS SDE ? 1 2 INSERT INTO CAMERA_INFO(OBJECTID,ID,SHAPE) ...
-
oracle 创建临时表空间/表空间,用户及授权
1:创建临时表空间 create temporary tablespace user_temp tempfile 'Q:\oracle\product\10.2.0\oradata\Test\xyrj ...
随机推荐
-
Mac下手动安装Chromedriver.exe
Mac OS X Yosemite 10.10.4下,ChromeDriver运行异常,需要手动安装chromedriver.exe Step 1: 打开https://sites.google.co ...
-
Winform GDI+ 相关资料
在Visual Studio 2010中定义GDI+自定义控件——自定义控件介绍 http://www.cnblogs.com/zhangdong/archive/2010/05/20/1740177 ...
-
C# ZipHelper C#公共类 压缩和解压
关于本文档的说明 本文档基于ICSharpCode.SharpZipLib.dll的封装,常用的解压和压缩方法都已经涵盖在内,都是经过项目实战积累下来的 1.基本介绍 由于项目中需要用到各种压缩将文件 ...
-
如何在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 ...
-
RHEL 6.4 安装svn和apache
1.安装软件包(RHEL已经按默认设置安装完成) 需要安装的.rpm软件包: postgresql-libs perl-URI subversion mod_dav_svn 2.创建svn文件夹和版本 ...
-
MySQL server version for the right syntax to use near &;#39;type=InnoDB&;#39; at line 1
转载请注明出处:http://blog.csdn.net/bettarwang/article/details/40180271 在执行一个Hibernate的演示样例时,配置了<propert ...
-
[Swift]LeetCode243.最短单词距离 $ Shortest Word Distance
Given a list of words and two words word1 and word2, return the shortest distance between these two ...
-
【转】教你用C#读写、删除、更新excel表格记录
文章出处:http://blog.csdn.net/kuangshazi515/article/details/6585118 如下图所示,编一个程序,鼠标单击窗体视图区(右边)时,获取一对坐标(X, ...
-
UVa 11609 组队(快速幂)
https://vjudge.net/problem/UVA-11609 题意: 有n个人,选一个或多个人参加比赛,其中一名当队长,有多少种方案?如果参赛者完全相同,但队长不同,算作不同的方案. 思路 ...
-
OGNL与值栈
一.OGNL入门 1.什么是OGNL OGNL的全称是对象图导航语言(Object-Graph Navigation Language),它是一种功能强大的开源表达式语言.使用这种表达式语言,可以通过 ...