动态申请空间
A. 结构体申请动态空间的问题
(C语言中)如果要申请已知长度的结构体数组的话,如长度为10,则
customer *p;
p=(customer *)malloc(10,sizeof(customer));
……
free(p);
如果结构体版长度不权定,个人认为需要通过链表方式实现。
B. 怎么在C#里面动态申请内存空间用于存储
c#不需要自己来管理内存,动态自内存可以使用List来存放,自动在不够的时候扩容,管理起来很方便,这是C#比C++等早期语言的优势之处,当然,正因为如此,C#中使用指针将非常不变,因为内存不是自己管理了,自然要用指针访问别人管理的内存是不可以的,要通过特殊方法将内存地址固定,功能上还限制很多
new关键字:
double[]data=newdouble[100000];
List<double>data=newList<double>();后者可以适应动态变化长度的数据。
内存本身是CLR管理的,不需要你释放。
C. C++中什么时候需要申请动态空间
必须申请动态空间才能解决问题的时候。
D. 免费动态空间申请
支持PHP或PHP+MYSQL:
(这类免费空间在国内真难找到一个比较好的,所以只推荐国外的)
1、http://www.host.sk
PHP+MYSQL,速度较快;演示: http://faey.host.sk
2、http://www.nixnet.cz (好象停止申请了)
PHP+MYSQL,速度较快;演示: http://faey.d2.cz
3、http://www.multimania.com
PHP+MYSQL,速度较快;演示:
http://www.multimania.com/faey
4、http://freephp.digiro.net/
不错,24日将重新开放申请。演示:
http://faey.freephp.digiro.net/bbs
E. C++动态空间申请
Array:: Array(int n)
{
= new int[n];
int i;
for(i = 0; i < n; i ++)
p[i] = 0;
size = n;
}
Array:: Array(const int a[],int n)
{
p = new int[n];
int i;
for(i = 0; i < n; i ++)
p[i] = a[i];
size = n;
}
Array:: Array(const Array& v)
{
int i;
int *tmp;
*this = v;
tmp = new int[this->size];
for(i = 0; i < this->size; i ++)
tmp[i] = this->p[i];
this->p = tmp;
}
Array:: ~Array()
{
delete[] this->p;
}
void Array:: Show()
{
int i;
for(i = 0; i < this->size; i ++)
cout << this->p[i] << ',';
cout << endl;
}
void Array::Resize(int n)
{
int *tmp = new int[n];
int i, len;
for(i = 0; i < (n < this->size ? n : this->size); i ++)
tmp[i] = this->p[i];
delete [] this->p;
this->p = tmp;
this->size=n;
}
F. C++关于动态申请动态空间问题
不就是两个类型么?没有什么特殊“意思”
G. C语言中为何要申请动态存储空间
动态取决于程序员你自己,而如果不是动态那编译器就帮你指定到栈中去了,动态给于程序员更多的灵活性。当然也得注意维护这些动态的内存。
H. 关于用new申请动态空间的一些问题
i不一定是负值,而且很大可能是一个比较大的数,和编程环境有关。
因为你申请的内虽然是一个动态空间,容但p其实是一个指向你申请的空间的第一个位置的地址的指针,
对于指针的访问,c++一般没有很多限制,都是靠自己把握是否越界的,如果你有杀毒软件什么的,在你运行的时候可能会提示危险软件。
I. C\C++中,如何动态的申请存储空间为程序使用,如要动态申请n个对象(每个对象的类型为DataType)的
C语言复:制
申请:DataType *p = (DataType*)malloc(sizeof(DataType) * n);
释放:free(p);
C++:
申请:DataType *p = new DataType[n];
释放:delete[] p;
J. c语言中,什么是在主函数中动态申请空间及释放空间
c语言惯用的分配是malloc,释放是free
如果申请内存,可以解决两个问题,分别是:
指针在其他函数外无效
数组空间必须是定值
但是由于一直不释放就会占内存,所以必须在合适时间使用free释放