c++数组内存自动分配的问题

c++数组内存自动分配中:
char* p (new char [80]);
的【80】是什么意思?是分配的最大限制吗?

5个回答

该语句分配了一个字符数组,长度为80,其中,p指向了它的第一个元素。

是给这个char类型的数组分配了80个char的空间

楼上说得对!申请80个字符型动态内存

等效于下面这种方法:

int size = 80;
char *p = new char[size];

size可以是变量,此举也**叫动态内存分配**,可以像访问普通数组那样去访问这段动态内存;

这是申请了80个char类型的地址空间

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
c++数组内存自动分配的问题
c++数组内存自动分配具体有哪些作用?n它可以随程序运行而扩大分配空间吗?n
C/C++自动分配和回收内存
根据生命周期结束后可以自动释放内存.严格来说是可以说半自动回收,个人原编,希望对大家有用,反正我是用的挺爽,创建内存方面,内存回收也干净.
C内存、数组和指针
堆区 栈区 常量区 静态区 类型转换 //低级到高级自动转换 char(1)、short(2)—>int(4)—->unsigned(4)—->long(4)—->double(8)<—-float(4) (字符型先转换成整型) strlen()和sizeof()的区别 1.strlen测量的是长度,sizeof测量的是已开辟的内存大小 2.strlen遇到结束符’\
有关内存自动分配问题(非malloc)
请问各位一个这样的问题:rn 再程序中有时会需要一段临时的存储空间,这段空间有时可能只有几K,有时会多达上百M,并且这段数据是由其他地方产生,开始产生时并不知道这段数据的具体大小,业务流程中需要该空间的几率非常的小,所以再程序中直接开一段固定长度的空间很浪费资源,而由于大空间的大小时不固定的,使用malloc直接进行动态分配也不可能。由于这段空间的使用几率小,所以再使用完毕后要把它释放掉。这种时候应该用什么方法呢?rnrn 我一直再考虑使用链表来解决,不知道大家有没什么比较成熟的方案,一起讨论下
C数组与java数组在内存中的区别
C数组:静态数组,数组一旦被定义后,占用的内存空间就是固定的,不能改变数组长度。 C有两个版本,C89和C99 在C89中,必须使用数值常量指明数组的长度,不能使用变量(不管变量有没有被初始化); 在C99中,可以使用变量指明数组的长度,但它仍是静态数组,一旦确定长度后,长度就不能改变了。
C语言—指针,数组和内存
C语言—指针,数组和内存杂讲 上周组里讲课对指针方面的知识进行了深化,以前总觉得自己指针学的还不错,但是看到这些问题才知道自己还是差太远,其中包括 大端与小端 sizeof对数组名和普通指针的区别 下标运算符 数组指针和指针数组 C语言允许直接访问物理地址,可以直接对硬件进行操作 因此C既具有高级语言的功能,又具有低级语言的许多功能,能够像汇编语言一样对位、字节和地址进...
C语言——数组内存空间分配
参考:https://blog.csdn.net/msdnwolaile/article/details/50576418 研究了下变量&amp;数组定义时的内存分配,发现不一样,真的顺序还是看编译器: #include&lt;stdio.h&gt; int main() { int a[4] = {11,12,13,14}; int b[4] = {21,22,23,24}; i...
c动态申请数组内存
今天,遇到一个很有意思的题,当初认为会很简单,但是调试过程一直不顺利。大约持续了一个小时,后来才在一本书上看到的解决办法。题目如下:用处输入一个二维数组的长度N,然后输入数组元素。要求输出数组,以及数组的每一行之和。一开始我是这样想的#include &amp;lt;stdio.h&amp;gt; int main() { int i, j; int m = 0; printf(&quot;enter a nu...
服务器192G内存,系统自动分配了200G的虚拟内存
服务器192G内存,系统自动分配了200G的虚拟内存,硬盘只有1T,一下少了200G的内存,请问这种情况下还需要分配虚拟内存吗?
数组内存的问题
声明一个数组内存,然后每个元素都声明新的内存,把数组内存释放了,元素的内存会不会受影响,例如:rnchar **p = (char **)calloc(sizeof(char *), 10);rnint i = 0;rnwhile (i<10)rnrn p[i] = (char *)calloc(sizeof(char), 100);rn CreateThread(NULL, 0, ttt, p[i], 0, NULL);//这里是线程把元素内存引用了rn i++;rnrnfree(p);rnp = NULL;rn从p[0]到[9]的内存会不会受影响呢?rn
基础问题 数组的内存
int[][] a=new int[100][2];rnint[][] b=new int[2][100];rn数组a、b在内存中哪个占的大?为什么?
数组在内存中的问题!
我用数组的寻址公式做了个实验rn 我首先定义数组 rn int main()rn rn int n = sizeof(n); rn int a[5];rn a[0] = 0;rn a[1] = 1;rn a[2] = 2;rn a[3] = 3;rn a[4] = 4;rn rn a[5] = 0x88888888; //这里是我故意写的rn printf("%08x",n);rn rn 首先int n = sizeof(n); 在这行下断,在内存中观察反应rnrn 已知这个数组的首地址是0013FF68 我们知道数组的寻址公式是 a[n] = a + sizeof(type) * nrn 那我们就可以算出a[1]的地址是 0013FF6C 那同理a[4]的地址就是0013FF78rnrn这里是内存的反应 我单步过了int n = sizeof(n); ,我是为了取变量的字节rn都知道int类型是4个字节的rn但是为何我单步过了这行代码的时候,这个字节数会跑到0013FF78 的后面这是rn为何?也就是到了0013FF7C这个地址这里去,根据这个寻址原理我也就可以通过数组改变变量里面的值rnrn为何这个字节数(4)会跑到0013FF78后面去,这是为何,还请高手帮忙解答下rnrn0013FF68 CC CC CC CC CC CC CC CC 烫烫烫烫rn0013FF70 CC CC CC CC CC CC CC CC 烫烫烫烫rn0013FF78 CC CC CC CC 04 00 00 00 烫烫....rn rnrnrnrnrnrn
毕业论文课题自动分配问题!
我想做一个毕业论文课题自动分配系统:rn大概要求:合理分配论文课题,每个学生最多可选择5个志愿(当然每个学生最终分配到一个毕业课题),在尽量保证学生志愿的前提下,要使每个老师所带学生平均。平均指学生数还有男女比例。rnrn请指点以下小弟,怎么样解决这类分配问题?我应该看哪方面的资料,请介绍一下。谢谢
固定数值的自动分配问题
一个数组a[32]存放从1到32这32个整数,现要求将它分成四个数组a1[8]、a2[8]、a3[8]和a4[8]。每个数组中的整数都是1到32中的随机整数而且每个整数都不同。请各位高手帮忙!
自动分配位置的问题
用的是visual studio 2005
到款自动分配的问题
例如:表结构为:id、num、symum三个字段,其中ID为自动增长列,有五条数据rn1 1000 0 rn2 200 0 rn3 10 0 rn4 1001 0rn5 1300 0rn创建表如下:rn[code=SQL]rncreate table tb1(id int primary key identity(1,1),num money,synum money)rninsert into tb1(num)rnselect 1000rnunion all rnselect 200rnunion all rnselect 10[/code]rnrn现有一笔到款为1100元,需要把这笔到款分配到表tb1中,其中分配的规则如下:rn先分配id为4的1001元,然后再分id为2的200元;分完后的结果为rn1 1000 0 rn2 200 99 rn3 10 0 rn4 1001 1001rn5 1300 0rn又如:假如到款为2100元,则分配结果为:rn1 1000 590rn2 200 200rn3 10 10 rn4 1001 0rn5 1300 1300rn不知各位看明白没有,求一算法,谢谢!
关于自动分配IP问题
相关知识链接:rn对于Win98,Microsoft TCP/IP 提供了新的 IP 定址机制,称为自动专用 IP 定址。对于小网络,没有DHCP服务器 ,使用“LINKLOCAL网络", IP地址空间就可以向网络适配器分配唯一的IP地址。LINKLOCAL网络地址总是以169.254开头,其格式如下: rn 169.254.X.X rn LINKLOCAL 网络地址仅用于专用、内部地址,不适用于 Internet 上可见的主机。它们不可用于由 Internet 连接共享所链接的计算机。 rn 向网络适配器分配 LINKLOCAL 网络 IP 地址之后,使用 TCP/IP 协议的计算机可与使用相同定址方式的其他网络计算机通信。 rnrn问题:我使用的是小区宽带形式,为自动获取IP地址.但是每次开机后,无法从DHCP服务器获得IP地址,系统会启用自动分配IP,给我一个192.xx.xx.xx或者169.254.X.X的IP地址!必须把本地链接断开然后重新连接才可以获得IP地址!每次这样很麻烦!rn 我想这个是不是因为自动分配IP的问题,如果将自动分配IP地址关闭,系统会不会一直向DHCP服务器发送DHCPDISCOVER数据包,直到DHCP分配IP地址给本机!rn 以上只是我的想法,希望有人能够指出对错,给出相应的方法!在此感谢!
自动分配话务
好吧 这是一个呼叫中心的自动分配话务问题的解决方案 大家可以看一下
自动分配更新
例如:我有一个张表list(编号,名称,订货数量,到货数量,x),rn编号 名称 订货数量 到货数量 xrn001 aa 100 0 brn002 aa 200 0 crn现在我要更新里面的到货数量,例如我程序中录入:100 ,则应该是: rn编号 名称 订货数量 到货数量 xrn001 aa 100 100 brn002 aa 200 0 crn如果我录入的是:150,则应该是:rn编号 名称 订货数量 到货数量 xrn001 aa 100 100 brn002 aa 200 50 crn如果我录入的是:50,则应该是:rn编号 名称 订货数量 到货数量 xrn001 aa 100 50 brn002 aa 200 0 crn请教各位高手,该怎么写sql,谢谢
自动分配数值
rn rn rn 1rn rn 2rn rn 3rn rn 4rn rn有五个输入文本框,要求在第一个输入例如 10rn后三个分别以 1:2:3自动写入,第4个框是显示余量,在这里这四个框的值分别为 rn1 2 3 4rn得出的方法为 以最大量进行分配,这里10除6,整数值为1,则以1倍进行分配,余量为4rn自动分配好后,用户可以手动将这个余量自由分配到t1 t2 t3中,这时t1 t2 t3无需进行比例分配了,如果t1值改为3后,则余量自动变为2,直到余量变为0后才可以被提交,否则不可以提交,小弟这样的描述,各位老大不知道能不能明白,谢谢了。
C语言与内存的问题
作为初学C的菜鸟,是否应该了解内存的作用??
C语言 动态申请数组内存
动态 申请内存
c语言中数组的内存建立
使用C语言编程,实际上使用的内存只有一种——虚拟内存。根据功能的不同在C语言中又将虚拟内存为分三类:栈区、堆区、静态数据区,无论单一变量还是数组,其内存分配都是如此。其中,栈区、静态数据区、堆区都会有编译器负责分配、操作系统负责管理,程序员可以在堆区使用malloc()来动态分配堆内存。 1、栈区:一般每一个函数对应一个栈区,在编译原理中称为栈帧。比如下面的代码: int main() {
C语言程序设计技巧(指针,内存,数组详解)
就是一本进阶的c语言的书籍,如果你对C语言现在的指针和数组,还有内存感觉很迷茫,这本书很实用你!
c语言数组相关内存的一些概念
1.一维数组 不允许动态定义数组长度,如  int  n; scanf("%d",&n); int a[n]; 2.在定义数组的时候要显示类型和空间大小(分配地址) int a[]={1,2,4,5}; 3.字符串函数 (1).strcpy(数组,字符串) 将字符串赋值给数组 (2).strcmp(字符串,字符串) 比较两个字符串的大小 (3). strle
c 内存 问题
int inf(char *source,size_t len,char *dest)rnrn dest = (char*) realloc (dest,new_size);rnrnint run(char *source,size_t len,char *dest)rnrn inf(source , len,dest);rnrnrn在 inf 函数中 dest 有数据 但是run 调用完成之后 dest 就变成 null 了rn realloc 不是在堆上? 怎么感觉我这个是在占上面。rn 当我换成 2级指针的时候 g++ 编译完成运行 打印 段错误 core dump。rn 难道是我内存越界了?rnrn 求指点。。。。。。
C中内存的问题
我是在VC++6.0编辑器上运行的,运行结果为12(+乱码).我的问题是:怎么会出现一些乱码呢?我明明把内存释放了呀...另外我如果char a[10]="12"表示的话,不会出现乱码.这是为什么呢?我都是动态申请了100字节的空间呀..rn#includern#includernint main()rnrn char a[10];rn char *p;rn p=(char *)malloc(100);rn p=a;rn a[0]='1';rn a[1]='2';rn printf("%s\n",p);rn free(p);rn return 0;rnrn
Go - cgo访问C数组 & 内存
示例 package main /* #include &amp;amp;amp;lt;stdlib.h&amp;amp;amp;gt; #include &amp;amp;amp;lt;stdio.h&amp;amp;amp;gt; struct Dog { char name[32];c int id; }; #define MAX_DOG 16 struct Dog dogs[MAX_DOG]; */ import &amp;amp;quot;C&
一个问题,关于kmalloc分配的内存和编译器自动分配的内存的问题(堆和栈)
我们知道,kmalloc分配的内存在堆中,编译器给变量自动分配的内存在栈中,但是我现在就出现了一个问题rnkmalloc分配的内存可以用来进行dma传输,而在栈中的变量就不能用进行dma传输,这是为什么?rn我用的是网卡的dma,只要写进变量的首地址(都已经转换成物理地址)以及长度,它就能够进行传输,但是变量没用kmalloc分配内存,就不能用它的地址进行传输!rn是否因为堆和栈转换成物理地址是不连续的?还是其他原因?
指针 指针的指针 和数组问题 内存
int array[6]=1,2,3,4,5,6;rn int *p=array;rn for (int i = 0 ; i < 6;i++ ) rn [color=#FF0000] printf("%d ",*p++);[/color]rn rn printf("\n");rn *((int *) ((&array)+1)-1)=100; [color=#339966]//*((int *) ((&array[0])+1)-1)=100; 输出结果为100 2 3 4 5 6[/color]rn for (int i = 0 ; i < 6;i++ ) rn printf("%d ",array[i]);rn rn printf("\n");rn for (int i = 0 ; i < 6;i++ ) rn [color=#FF0000] printf("%d ",*p++);[/color] 两个红字的P指针为何会改变?rn rn1 2 3 4 5 6 rn1 2 3 4 5 100rn-334488525 -1694441865 1606416536 32767 -1795889667 32767rn*((int *) ((&array)+1)-1)=100;的正确理解;[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/9.gif][/img]rn以及&array 和 &array[0]的具体区别。rn小菜鸟一枚 csdn新人rn 想知道最后P为什么成了指向地址的指针了rn求大神解救 万分感谢!
关于数组内存空间分配的问题
char ch[20]=“china";rn一个很简单的定义,但是返回地址时却出现了问题:rnprintf("%o",&ch[0]);值为177706rnprintf("%o",&ch[1]);值为177707rnprintf("%o",&ch[2]);值却为177710rn不知道是什么原因,请高手帮忙,谢谢rnrnrn
数组在内存中的位置问题
数组 abc[3][3] 中,指针abc 是不是保存在“常量区域”里面?rnrn指针 abc[0] 保存在哪里?“常量区域”?rnrn我好晕呀,谁能帮我解释清楚呀?
数组的内存动态分配问题,帮忙
例如:int a[10],能不能为a这个数组在重新分配一点内存,请帮忙!rn要为一个很大的数组非配内存,改怎么作?例如:float a[500][500];该怎么使用动态内存的方法那?就是当内存不够的话,再为数组非配内存?最好能给出一个例子来!谢谢了!
有关数组在内存位置的问题
有个二维字符数组 char a[10][4]='A','B','C','H','B','H','D','L','A','E','C','K','E','D','A','L','E','F','A','K','F','D','E','H','C','F','A','L','F','B','A','K','A','E','F','L','C','A','B','L';rnrn假如它在内存中的位置是 每行占一个位置,10行就占1-10位置,现我想把数组a后移到6-15位置,然后把11-15位置的内容放回到1-5位置,那就形成新的数组,应该如何处理,请给出实现代码,谢谢。
数组和指针最小化内存的问题
原程序中有这样一段代码:rntypedef structrn unsigned char Length[17];Huffman codes of length krn unsigned short int minor_code[17]; rn unsigned short int major_code[17]; rn unsigned char V[65536]; //此处由于占用静态空间太大,我想改成指针.rnHuffman_tablernrnHuffman_table *htable;rnstatic Huffman_table HTAC[4];rnstatic Huffman_table HTDC[4];rnrnvoid load_header()rnrn for (j=0;jV[i] = ?;rnrn由于占用空间太大,我想把结构中的V改成指针,然后动态分配65536,不用后马上释放.rntypedef structrn unsigned char Length[17];Huffman codes of length krn unsigned short int minor_code[17]; rn unsigned short int major_code[17]; rn unsigned char *V; //此处由于占用静态空间太大,我想改成指针.rnHuffman_tablernrn我把分配V放在了load_Huffman_table中:malloc_Huffman_table(HT);rn加了分配和释放内存的函数:rn/*释放huffman_table的内存*/rnvoid free_Huffman_table(Huffman_table *HT)rnrn //if(HT->V) rn //rn CMyString_free(HT->V);rn HT->V = 0;rn //rnrn/*分配huffman_table内存*/rnvoid malloc_Huffman_table(Huffman_table *HT)rnrn HT->V = (unsigned char*)CMyString_malloc(65536); //256*256rnrn这样也能编译过,结果值也正确.但是我感觉分配了4次,但只释放了一次.而且分配后不释放占用的空间还是很大.rnrn哪位高人帮忙指点一下,怎样改最好,要求占用的空间最小.谢谢
char数组内存循环移位问题
比如,char a[2] = 0x2f,0x3e ,循环右移四位变成0xe2,0xf3,有没有什么快速的方法。
自动分配号码
sql2008r2 rnrn[code=sql]rn--有以下2个表 希望 #s表能够按 #plh的plh顺序获取 plh赋值给#s的plh rnrnselect '10001' as bh,10 shl,' ' as plh into #s union rnselect '10002' as bh,20 shl,' ' as plh union rnselect '10003' as bh,50 shl,' ' as plh union rnselect '10004' as bh,22 shl,' ' as plh union rnselect '10005' as bh,33 shl,' ' as plh union rnselect '10006' as bh,15 shl,' ' as plh union rnselect '10007' as bh,23 shl,' ' as plhrn rnselect '1-1-1' as plh into #plh union rnselect '1-1-2' as plh union rnselect '1-2-2' as plh union rnselect '1-3-2' as plh union rnselect '1-4-2' as plh union rnselect '1-1-3' as plh union rnselect '1-3-4' as plh union rnselect '1-4-1' as plh union rnselect '1-5-2' as plh union rnselect '1-5-3' as plh unionrnselect '1-5-4' as plh union rnselect '1-6-1' as plh union rnselect '1-6-2' as plh union rnselect '1-6-3' as plh union rnselect '1-6-4' as plh rnrnselect * From #srnselect * From #plh order by plhrnrn--期望结果rnbh shl plhrn-----------------------rn10001 10 1-1-1 rn10002 20 1-1-2rn10003 50 1-1-3rn10004 22 1-2-2rn10005 33 1-3-2rn10006 15 1-3-4rn10007 23 1-4-1rnrn[/code]
一个自动分配位置的算法问题
一个节目在一个星期中的7天全部有节目,有10个企业要在节目中加广告,而每个企业中的广告投放的可能指定位置,也可能不指定位置,每个企业在哪几天投放广告也是可以自由的确定的,比如A企业是星期1、3、5不指定位置;B企业是星期1、4、日不指定位置;C企业是星期1、2、3、4第二个位置,D企业是星期3、4、5、6、日不指定位置;等,这样如何用一个算法把投放正确的排列出来,指定位置的一定要在指定的位置不能动的。rn先给100分,如果不够还可以再开帖给。
自动分配字符串的问题!!超难!
我现在要实现的功能是:给一个字段自动分配一个3位的字符串,这个字符串是从A到Z排列组合,也就是从“AAA”到“ZZZ”,然后存到数据库中,每次分配的不能有与数据库中相同的字符串。如:rn数据库中记录是:rn1 AAArn2 AABrn3 AADrnrn在这种时候按“添加”,这时我要自动分配一个AAC保存到数据库中。请问如何实现?最好能写出代码,谢谢先!!!!!!!
自动分配位置的问题, 继续发问
一个节目在一个星期中的7天全部有节目,有10个企业要在节目中加广告,而每个企业中的广告投放的可能指定位置,也可能不指定位置,每个企业在哪几天投放广告也是可以自由的确定的,比如:rnA 1 2 3 4 5 6 7rnB 1 3 5 7rnC 2 4 6 (+2)rnD 1 2 3 4 5 6rnE 1 2 3 4 5rnF 3 (-1)rnG 1 3 5rnrnrn结果可以是:rnA 1 2 3 4 5 6 7rnC 2 4 6 (+2)rnB 1 3 5 7rnD 1 2 3 4 5 6rnE 1 2 3 4 5rnG 1 3 5rnF 3 (-1)rnrn也可以是:rnD 1 2 3 4 5 6rnC 2 4 6 (+2)rnA 1 2 3 4 5 6 7 rnB 1 3 5 7rnG 1 3 5rnE 1 2 3 4 5rnF 3 (-1)rnrn(说明:其中的第一列字母为名称,后面的数字表示在一周的那一天有投放,后面(-1)表示指定了位置。)rn等只要满足了指定了位置的条件,其他的可以任意的放置,而且只要能找到一个解就可以结束。rn其中的指定位置是指该企业有投放的每一天从前向后数(正序位置)或从后向前数(倒序位置)为其指定的位置,显示的时候如上面那样显示出来。rn如果后面指定了位置的情况下,在可满足其指定位置的情况下,是一定要满足的。rn实际中的数据要会到30--50个,指定位置的数量和位置都不定。
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法