C++动态创建不定长数组

我想通过直接输入一个任意大小的字符串来创建一个字符数组,但又不想浪费多余的空间,要怎么做到呢?新手。。。

5个回答

char * newchar(const char * ps){
char * prt = 0;
if(ps){
int nlen = strlen(ps);
prt = new char[nlen+1];

strcpy(prt,ps);
}
return prt;
}

直接用指针,可以动态申请大小,且可以将指针当成数据来访问。
如果一定要使用数组,数组的特性就决定了不可能动态分配空间,只能初始化时设定死。

数组是没有办法动态分配存储空间的。如果想达到你的效果,可以采用指针,利用地址的动态改变来改变数组的长度

根据你输入的值,用一个变量n保存,然后new char[n],就可以动态分配指定长度的数组了

直接用vector多好

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C++动态创建不定长数组

我想通过直接输入一个任意大小的字符串来创建一个字符数组,但又不想浪费多余的空间,要怎么做到呢?新手。。。

Java不定长数组一般应用于哪些场景?

Java不定长数组一般应用于哪些场景? Java不定长数组一般应用于哪些场景?

js 或 php 不定长数组怎样动态嵌套循环

类似这样结构的数组 :arrobj=[[arr1],[arr2],[arr3]];假如arrobj的长度不确定怎样能得到类似的循环: for(var key1 in arr1){ for(var key2 in arr2){ for(var key3 in arr3){ } } }

c语言中如何动态输入字符串而不需要事先定义字符数组大小

如标题 c语言中如何动态输入字符串而不需要事先定义字符数组大小或为字符指针分配空间

STM32使用数组进行数据长时间接收

语音硬件驱动获取数据,存入数组,软件从数组获取数据运算后再存入数组,有驱动从数组中获取数据,并进行播放。硬件与软件是不同人员,那么这个数组如何设置

C++ memcpy 动态数组问题

我动态创建了数组,然后用memcpy复制内存的数据(已知数据)到动态数组中,但是只拷贝了内存的第一个字节,后面的就没有了。如下图断点情况:如何解决? ![图片说明](https://img-ask.csdn.net/upload/202003/30/1585555002_5791.jpg)

java如何根据输入的数值创建数组啊

例如我输入2 下面能输入 1 2 2 1 或者输入3 3 2 1 1 2 3 1 3 2

java 如何生成一个不定维数的数组?

现有需求如下: 有一个List集合,内含N个对象,每个对象都有一个属性level。 如果最大的level是5,那么就生成一个4维数组;如果最大的level是4,那就生成一个3维数组,依此类推。 想了很多办法,自己实现不了,特来求助

不用SIZEOF求数组大小的问题

我在论坛上找到了不用sizeof求数组大小的方法,但是如果我将这个办法封装 成函数,返回的数字完全是错的,不知道为什么,求仙人指路 ``` int mysizeof(int arr[]); int mysizeof(int arr[]) { int*pp1=*(&arr+1); int pp2 = pp1-arr; return pp2; } int main() { int a[] = {1,2,3,4,5,6,7}; int * p = *(&a+1); int p2 = p-a; int pp = mysizeof(a); printf("%p\t%p\t\n",a+1,p); printf("%d",p2); printf("\n********************************************\n"); printf("%d",pp); return 0; } ``` 为什么这个函数不能封装啊,自定义函数中的值到底发生了什么? 在线等 但是同样的写法在main里为什么能够正确计算?是不是因为传递进函数之后arr是一个副本,在main中的时候&arr的类型是具有长度属性的,+1之后就移动了整个数组的长度,但是在自定义函数中arr只是一个指向main函数中数组首元素的地址的一个指针,而不具备长度属性,或者说长度属性退化掉了?所以在自定义函数中&arr+1不能明确知道指针具体偏移了多少,是这个意思吗?还是不太明白

如何在数据库中存储可变长度数组

<div class="post-text" itemprop="text"> <p>I'm looking for a way to save data based off a set of rows in another table, but I don't know how to set up the field. Think something similar to using the results of a mysql <code>group_concat</code> as the field. The data is based off the <strong>unique combination</strong> of rows, rather than one row or field.</p> <p>What I need to be able to do is:</p> <ol> <li>Store the array itself in the database</li> <li>Store associated data about the array </li> <li>Retreive the array </li> <li>The ability to lookup data about the array using the data in the array</li> </ol> <p>Some options I've thought about:</p> <ol> <li>Saving as an ordered set concatenated into a string.</li> <li>Saving the serialized array (serialized using php's serialize function).</li> <li>Saving the set as a hashed string using a reversible hash.</li> </ol> <p>None of these options seem correct so I came here hoping someone has a better answer.</p> <p>Background:</p> <p>Supposed I have the following tables:</p> <pre><code>users {id, other unimportant fields} products {id, other unimportant fields} shipments {id, user_id, product_id, date, other unimportant fields} </code></pre> <p>I want to create a new table called <code>assigned_products</code> where the assigned product is based off of the <strong>unique combination</strong> of products they've received in the past. So <code>assigned_products</code> should look like:</p> <pre><code>assigned_products {set_of_products_received (array), product_id (data about the array)} </code></pre> <p>I don't know of a good way to store <code>set_of_products_received</code> in a database. </p> <p>Example use:</p> <p>Suppose I have 100 users who got product A, 100 users who got product B, and 100 users who got products A and B. Suppose then I wanted to give product B to everyone who got product A, product A to everyone who got product B, and product C to everyone who got product A and B. The assigned products table should look like:</p> <pre><code>+--------------------------+------------+ | set_of_products_received | product_id | +--------------------------+------------+ | A | B | | B | A | | A, B | C | +--------------------------+------------+ </code></pre> <p>I'm just looking for a better way of storing <code>set_of_products_received</code></p> <p>Reading this over I realize it's a bit hard to understand, but I don't really know the appropriate terms to describe this issue (probably why I'm having trouble finding solutions). I'll be happy to clarify if anyone has any questions.</p> </div>

GoLang:结构中的可变长度数组,用于二进制读取

<div class="post-text" itemprop="text"> <p><br> I'm trying to reimplement a program it did in C a few years ago in Go<br> The program should read a "record"-like structured binary file and do something with the record (what is done with the records itself is not relevant for this question)<br><br> Such a datafile consists of many records where each record has the following definition:<br></p> <pre><code>REC_LEN U2 // length of record after header REC_TYPE U1 //a type REC_SUB U1 //a subtype REC_LEN x U1 //"payload" </code></pre> <p>My problem now is how to specify that variable length byte[] in a struct in Go?<br> My plan was to use binary.Read to read the records<br> Here's what I've tried so far in Go:</p> <pre><code>type Record struct { rec_len uint16 rec_type uint8 rec_sub uint8 data [rec_len]byte } </code></pre> <p>Unfortunatelly it seems I can't reference a field of a struct within the same struct as I get the following error:<br></p> <pre><code>xxxx.go:15: undefined: rec_len xxxx.go:15: invalid array bound rec_len </code></pre> <p>I'd appreciate any ideas pointing me in the right direction<br> Thanks<br> KR</p> </div>

关于JavaScript未知长度的二位数组的定义

本人小白一枚 初入js行 现在不知道该如何定义未知长度的二维数组,求大神告知,另外 求行列转换的代码 谢谢

C++,如何将未知长度的string输入数组

如代码,我发现程序在运行时会跳过cin.get,这是怎么回事啊?另外,关于将未知长度的字符串输入数组,还有什么好办法吗? ``` int main() { int time; scanf("%d", &time); int count=0; while(count < time) { string str; char temp; int i; while((temp=cin.get())!='\n') { str +=temp; } length =str.length(); char* preorder = new char[length]; char* inorder = new char[length]; for(i = 0;i<length;i++) { preorder[i]=str[i]; } for(i=0;i<length;i++) { scanf("%c", inorder[i]); } sort(preorder, inorder, length); count++; delete preorder; delete inorder; } return 0; } ```

C语言指针数组问题,为什么可以不指定长度

int (*a)[10]表示一个指向一个整形数组的指针这个好理解,但是为什么int (*a)[]可以编译通过呢

在c语言里数组长度是固定的么(不讨论柔性数组)比如int a[5]={0,1,2,3,4}

如上定义以后,为什么 a[5]=5;这样赋值以后也是可以的,但是用sizeof(a)得到的还是20呢,可以给a[5]赋值这是不是代表它长度可变,,,虽然数组在汇编里就是一个地址然后往后不断偏移偏移,,可是老师讲数组都一再强调数组下标不能越界……往解答一二

二维数组不知道第二维的长度的情况下怎么进行初始化?

二维数组不知道第二维的长度的情况下怎么进行初始化?redim语句可以初始化不定长的二维数组么?

Java语言new数组怎么从键盘里获取长度再循环输入

Java语言new数组怎么从键盘里获取长度再循环输入,怎么来实现

C语言新人求解,关于数组

![图片说明](https://img-ask.csdn.net/upload/201611/05/1478311026_372786.png) 不懂.......

HDU OJ 1004问题: C语言中有没有可以储存字符串的数组?

类似 a[1]=asdasdads a[2]=zxczxczxc 这样。 看了下网上说二维数组可以实现,我试了一下程序崩溃了。。 这是我的代码 ``` #include<stdio.h> int max(int cnt[],int n); int main(void) { int n; while(scanf("%d",&n)&&n!=0){ char a[1010][10]; int cnt[1010]={0}; if(n>0&&n<=1000){ for(int i=0;i<n;i++){ //输入颜色 scanf("%s",&a[i][10]); } for(int j=0;j<n;j++){ //判断出现颜色出现次数 for(int k=j+1;k<n;k++){ if(a[j][10]==a[k][10]) cnt[j]++; } } int p; p=max(cnt,n); printf("%s\n",a[p][10]); <<-- debug到这里就崩溃了 } } return 0; } int max(int cnt[],int n){ //返回 有最大出现次数 的位置 int z; for( z=n-1;z>=0;z--){ for(int x=z-1;x>=0;x--){ if(cnt[z]<cnt[x]) break; if(x==0) return z; } } z=z+1; return z; } ```

nginx动态数组中自动扩容的实现问题

为了方便阐述我的问题,我举个例子: ngx_array_t *manager = ngx_array_create( cf->pool,1,sizeof(Node) ); 在ngx_array_create的实现中,将manager的成员pool置为cf->pool; 大家知道,如果cf->pool当前内存空间不够,就会再生成另一个内存节点,那么manager可能指向的是另一个内存池节点分配的内存; 继续,关于ngx_array_push自动扩容问题的实现(我不理解的地方); 下面是实现代码: void * ngx_array_push(ngx_array_t *a) { void *elt, *new; size_t size; ngx_pool_t *p; if (a->nelts == a->nalloc) { /* the array is full */ size = a->size * a->nalloc; p = a->pool; if ((u_char *) a->elts + size == p->d.last && p->d.last + a->size <= p->d.end) /*为什么认定当初分配的动态数组的数据区就是在cf->pool*/ { /* * the array allocation is the last in the pool * and there is space for new allocation */ p->d.last += a->size; a->nalloc++; } else { /* allocate a new array */ new = ngx_palloc(p, 2 * size); if (new == NULL) { return NULL; } ngx_memcpy(new, a->elts, size); a->elts = new; a->nalloc *= 2; } } 。。。 } 不好意思,我没有积分。。。

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

我说我不会算法,阿里把我挂了。

不说了,字节跳动也反手把我挂了。

抖音上很火的时钟效果

反正,我的抖音没人看,别人都有几十万个赞什么的。 发到CSDN上来,大家交流下~ 主要用到原生态的 JS+CSS3。 具体不解释了,看注释: &lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;Title&lt;/tit...

记录下入职中软一个月(外包华为)

我在年前从上一家公司离职,没想到过年期间疫情爆发,我也被困在家里,在家呆着的日子让人很焦躁,于是我疯狂的投简历,看面试题,希望可以进大公司去看看。 我也有幸面试了我觉得还挺大的公司的(虽然不是bat之类的大厂,但是作为一名二本计算机专业刚毕业的大学生bat那些大厂我连投简历的勇气都没有),最后选择了中软,我知道这是一家外包公司,待遇各方面甚至不如我的上一家公司,但是对我而言这可是外包华为,能...

培训班出来的人后来都怎么样了?(二)

接着上回说,培训班学习生涯结束了。后面每天就是无休止的背面试题,不是没有头脑的背,培训公司还是有方法的,现在回想当时背的面试题好像都用上了,也被问到了。回头找找面试题,当时都是打印下来天天看,天天背。 不理解呢也要背,面试造飞机,上班拧螺丝。班里的同学开始四处投简历面试了,很快就有面试成功的,刚开始一个,然后越来越多。不知道是什么原因,尝到胜利果实的童鞋,不满足于自己通过的公司,嫌薪水要少了,选择...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

推荐9个能让你看一天的网站

分享的这9个保证另你意外的网站,每个都非常实用!非常干货!毫不客气的说,这些网站最少值10万块钱。 利用好这些网站,会让你各方面的技能都得到成长,不说让你走上人生巅峰,但对比现在的你,在眼界、学识、技能方面都有质的飞跃。 一、AIRPANO 传送门:https://www.airpano.com/360photo_list.php 这是一个可以躺在家里,就能环游世界的神奇网站。 世界那么大,绝大多...

大牛都会用的IDEA调试技巧!!!

导读 前天面试了一个985高校的实习生,问了他平时用什么开发工具,他想也没想的说IDEA,于是我抛砖引玉的问了一下IDEA的调试用过吧,你说说怎么设置断点...

都前后端分离了,咱就别做页面跳转了!统统 JSON 交互

文章目录1. 无状态登录1.1 什么是有状态1.2 什么是无状态1.3 如何实现无状态1.4 各自优缺点2. 登录交互2.1 前后端分离的数据交互2.2 登录成功2.3 登录失败3. 未认证处理方案4. 注销登录 这是本系列的第四篇,有小伙伴找不到之前文章,松哥给大家列一个索引出来: 挖一个大坑,Spring Security 开搞! 松哥手把手带你入门 Spring Security,别再问密...

97年世界黑客编程大赛冠军作品(大小仅为16KB),惊艳世界的编程巨作

这是世界编程大赛第一名作品(97年Mekka ’97 4K Intro比赛)汇编语言所写。 整个文件只有4095个字节, 大小仅仅为16KB! 不仅实现了3D动画的效果!还有一段震撼人心的背景音乐!!! 内容无法以言语形容,实在太强大! 下面是代码,具体操作看最后! @echo off more +1 %~s0|debug e100 33 f6 bf 0 20 b5 10 f3 a5...

不要再到处使用 === 了

我们知道现在的开发人员都使用 === 来代替 ==,为什么呢?我在网上看到的大多数教程都认为,要预测 JavaScript 强制转换是如何工作这太复杂了,因此建议总是使用===。这些都...

什么是a站、b站、c站、d站、e站、f站、g站、h站、i站、j站、k站、l站、m站、n站?00后的世界我不懂!

A站 AcFun弹幕视频网,简称“A站”,成立于2007年6月,取意于Anime Comic Fun,是中国大陆第一家弹幕视频网站。A站以视频为载体,逐步发展出基于原生内容二次创作的完整生态,拥有高质量互动弹幕,是中国弹幕文化的发源地;拥有大量超粘性的用户群体,产生输出了金坷垃、鬼畜全明星、我的滑板鞋、小苹果等大量网络流行文化,也是中国二次元文化的发源地。 B站 全称“哔哩哔哩(bilibili...

十个摸鱼,哦,不对,是炫酷(可以玩一整天)的网站!!!

文章目录前言正文**1、Kaspersky Cyberthreat real-time map****2、Finding Home****3、Silk – Interactive Generative Art****4、Liquid Particles 3D****5、WINDOWS93****6、Staggering Beauty****7、Ostagram图片生成器网址****8、全历史网址*...

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

大厂的 404 页面都长啥样?最后一个笑了...

每天浏览各大网站,难免会碰到404页面啊。你注意过404页面么?猿妹搜罗来了下面这些知名网站的404页面,以供大家欣赏,看看哪个网站更有创意: 正在上传…重新上传取消 腾讯 正在上传…重新上传取消 网易 淘宝 百度 新浪微博 正在上传…重新上传取消 新浪 京东 优酷 腾讯视频 搜...

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

代码注释如此沙雕,会玩还是你们程序员!

某站后端代码被“开源”,同时刷遍全网的,还有代码里的那些神注释。 我们这才知道,原来程序员个个都是段子手;这么多年来,我们也走过了他们的无数套路… 首先,产品经理,是永远永远吐槽不完的!网友的评论也非常扎心,说看这些代码就像在阅读程序员的日记,每一页都写满了对产品经理的恨。 然后,也要发出直击灵魂的质问:你是尊贵的付费大会员吗? 这不禁让人想起之前某音乐app的穷逼Vip,果然,穷逼在哪里都是...

一场疫情,炸出了退休的COBOL程序员

COBOL编程语言,估计大多数程序员从没听说过,我这样的编程老司机,也是只闻其名,从未一睹芳容。出门问了问度娘,答案如下:COBOL语言,是一种面向过程的高级程序设计语言,主要用于数据...

爬虫(101)爬点重口味的

小弟最近在学校无聊的很哪,浏览网页突然看到一张图片,都快流鼻血。。。然后小弟冥思苦想,得干一点有趣的事情python 爬虫库安装https://s.taobao.com/api?_ks...

讲真,这两款idea插件,能治愈你英语不好的病

时不时就有小伙伴问我,“二哥,能推荐一款 IDE 吗?”你看这话问的,现在搞 Java 的不都在用 Intellij IDEA 吗,还用得着推荐(我已经和 Eclipse 分手了)。然后小伙伴又说,“二哥,IDEA 支持中文吗?我英语不太好。”你看这话问的,搞编程的,英语不好是硬伤啊! 不过,随着 IDEA 最新版(版本号是 2020.1)的发布,英语不好的病可以彻底治愈了。为什么这么说呢?因为 ...

在拼多多上班,是一种什么样的体验?我心态崩了呀!

之前有很多读者咨询我:武哥,在拼多多上班是一种什么样的体验?由于一直很忙,没抽出时间来和大家分享。上周末特地花点时间来写了一篇文章,跟大家分享一下拼多多的日常。 1. 倒时差的作息 可能很多小伙伴都听说了,拼多多加班很严重。这怎么说呢?作息上确实和其他公司有点区别,大家知道 996,那么自然也就能理解拼多多的“11 11 6”了。 所以当很多小伙伴早上出门时,他们是这样的: 我们是这样的: 当...

又一起程序员被抓事件

就在昨天互联网又发生一起让人心酸的程序员犯罪事件,著名的百度不限速下载软件 Pandownload PC 版作者被警方抓获。案件大致是这样的:软件的作者不仅非法盗取用户数据,还在QQ群进...

瑞德西韦重症用药结果再曝光,上百名重症一周内好转,股价大涨19%

郭一璞 发自 凹非寺量子位 报道 | 公众号 QbitAI期盼已久的瑞德西韦临床数据,现在“偷跑”了。在芝加哥大学医学院的临床试验中,125名病人参与,大部分人都已经出院,其中只有2名病...

应聘3万的职位,有必要这么刁难我么。。。沙雕。。。

又一次被面试官带到坑里面了。面试官:springmvc用过么?我:用过啊,经常用呢面试官:springmvc中为什么需要用父子容器?我:嗯。。。没听明白你说的什么。面试官:就是contr...

Vue商城——详情页功能

详情页实现思路 点击商品进去详情页,根据点击请求更加详细的信息,要传过来goodsItem的iid,根据id去服务器请求更加详细的信息;配置路由映射关系,点击进行跳转,带参数传递跳转 itemClick(){ this.$router.push('/detail/'+this.goodsItem.iid) /* this.$router.push({ ...

太狠了,疫情期间面试,一个问题砍了我5000!

疫情期间找工作确实有点难度,想拿到满意的薪资,确实要点实力啊!面试官:Spring中的@Value用过么,介绍一下我:@Value可以标注在字段上面,可以将外部配置文件中的数据,比如可以...

自学编程的 6 个致命误区

嗨,小伙伴们大家好,我是沉默王二。本篇文章来和大家聊聊自学编程中的一些误区——这是我在 B 站上看了羊哥的一期视频后有感而发的文章。因为确实有很多读者也曾私信问过我这些方面的问题,很有代表性,所以我就结合自己的亲身体会来谈一谈,希望对小伙伴们有所启发。 01、追求时髦 所谓基础不牢,地动山摇啊。可很多小伙伴压根就没注意过这个问题,市面上出什么新鲜的技术就想去尝试,结果把自己学的乱七八糟,心灰意冷...

相关热词 c# 按行txt c#怎么扫条形码 c#打包html c# 实现刷新数据 c# 两个自定义控件重叠 c#浮点类型计算 c#.net 中文乱码 c# 时间排序 c# 必备书籍 c#异步网络通信
立即提问