t=(char*)malloc(n*sizeof(char))的含义?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了t=(char*)malloc(n*sizeof(char))的含义?相关的知识,希望对你有一定的参考价值。
参考技术A 申请分配n个单位char内存空间,并把指针赋予t 参考技术B 原型:extern void *malloc(unsigned int num_bytes);头文件:在TC2.0中可以用malloc.h或 alloc.h (注意:alloc.h 与 malloc.h 的内容是完全一致的),而在Visual C++6.0中可以用malloc.h或者stdlib.h。
功能:分配长度为num_bytes字节的内存块
返回值:如果分配成功则返回指向被分配内存的指针(此存储区中的初始值不确定),否则返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。函数返回的指针一定要适当对齐,使其可以用于任何数据对象。
说明:关于该函数的原型,在旧的版本中malloc返回的是char型指针,新的ANSIC标准规定,该函数返回为void型指针,因此必要时要进行类型转换。
名称解释:malloc的全称是memory allocation,中文叫动态内存分配,当无法知道内存具体位置的时候,想要绑定真正的内存空间,就需要用到动态的分配内存。
参考资料:http://baike.baidu.com/view/1213621.htm?fromId=736228
本回答被提问者和网友采纳指向数组的指针(二维指针)
- char (*a)[N];//指向数组的指针
- a = (char (*)[N])malloc(sizeof(char) * N * m);
- printf("%d ", sizeof(a));//4,指针
- printf("%d ", sizeof(a[0]));//N,一维数组
- free(a); //free double ptr
以上是关于t=(char*)malloc(n*sizeof(char))的含义?的主要内容,如果未能解决你的问题,请参考以下文章