头文件malloc.h
使用malloc来申请一个初始地址空间。
然后在循环输入的过程中不断检查初始空间是否已满,满了就是使用realloc来扩展地址空间。
最后,如申请的地址不需要使用了,且程序没有结束,需要用free来释放。
另外,使用malloc或realloc申请时,需要先判断下返回值是否为空,如有异常申请失败,用空指针直接使用,会造成程序错误。
下面简单示范:(初始申请2个字节,之后每次输入字符扩展1个字节,回车结束输入)
#include <stdio.h>
#include <malloc.h>
int main()
{
int len=2
char *a=NULL,*aSave=NULL,c
a=(char*)malloc(sizeof(char)*len)
if(!a)
return 1
a[0]=0
while(1)
{
c=getchar()
if(c==10)
break
if(a[0]==0)
a[0]=c,a[1]=0
else
{
aSave=realloc(a,sizeof(char)*len)
if(!aSave)
return 1
a=aSave
a[len-2]=c,a[len-1]=0
}
len++
}
printf("输入的字符串数组是:\n%s\n",a)
free(a)
return 0
}
用递归来遍历:privatevoid FindControl(Controlc){if(c is TextBox){//控件是TextBox}elseif (c is DropDownList){ //控件是DropDownList}if(c.Controls != null){foreach (Control xin c.Controls){FindControl(x) }}} 调用: this.FindControl(this)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)