C语言可以通过宏,在你需要的位置宏展开出一个新的函数。
创新互联公司是一家专注于网站建设、成都做网站与策划设计,电白网站建设哪家好?创新互联公司做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:电白等地区。电白做网站价格咨询:13518219792
例如:
#define XXX(funcname) \
int funcname (int arg1, int arg2) \
{ return arg1 + arg2; }
但这也是编译期就决定好了的,也不能实现运行期动态创建。
在C语言中,动态申请内存可以用stdlib.h中声明的malloc函数。
函数原型:
void *malloc(unsigned int num_bytes);
num_bytes为要申请的内存数量。申请成功,则返回指向这块内存的指针;失败则返回NULL。
申请成功之后,就可以使用gets来接收字符串。代码如下:
#include stdio.h
#include stdlib.h
int main()
{
int size = 100;
char *str;
str = malloc(size);
gets(str);
puts(str);
free(str);
return 0;
}
给你介绍两个函数吧:
malloc函数 void * malloc(size) 动态内存分配函数,分配size字节的内存,返回的是指向该区域的指针
realloc函数 void * realloc(void * ptr ,size)重新分配内存,将ptr所指的已分配内存块的大小改为size,返回的也是指向该内存区域的指针
另外都包含在stdlib.h头文件中
楼主说的就是malloc函数了,这两个函数在数据结构中经常用到的
希望可以帮助你
动态内存是是为了 实现内存的动态分配比如,你运行一个程序,计算机为这个程序分配了内存 但是会有空余的小的一块一块的剩余单元内存动态内存技术就将这些内存再分配给其他的程序
也就是动态分配和取回内存。所以动态内存申请就是申请这样的一块动态内存
在程序运行是分配更多的内存主要用的函数是malloc()他接受一个参数,所需的字节数,然后malloc在内存中找到一个大小合适的块,内存是匿名的,但是可以返回首地址,需要把这个地址复制给一个指针变量,你就可以依靠这个指针变量来访问内存。之后你就可以随意使用它了。用完之后,要使用free函数将这块内存返回给操作系统进行回收。以后其他程序还可以按自己的需要预留这块内存。
例如
double*ptd;
ptd=(double*)malloc(30*sizeof(double));
就是请求30个double的类型空间,并把ptd指向该空间的所在位置
希望对你有所帮助