带*的函数内存怎么分配的
时间: 2024-03-02 21:54:04 浏览: 84
带*的函数一般是指返回指针类型的函数,它返回的是一个指向内存块的指针,因此需要在函数内部动态分配内存块,并将该内存块的地址返回给调用者。
例如,假设有一个返回结构体类型为aad指针的函数:
```
struct aad *create_aad() {
struct aad *st;
st = (struct aad *)malloc(sizeof(struct aad));
// 对结构体变量st进行初始化
return st;
}
```
在函数内部,首先使用malloc()函数分配一个结构体类型为aad的内存块,并将其地址赋值给指针变量st。然后对该结构体变量进行初始化,并将其地址返回给调用者。调用者可以通过该指针变量来访问和操作该结构体变量。
需要注意的是,在使用完该内存块后,需要使用free()函数来释放该内存块,以避免内存泄漏。
阅读全文