本文目录一览:
c语言函数功能如何划分
无统一划分标准。 有人分:
- 分类函数,所在函数库为
ctype.h
- 数学函数,所在函数库为
math.h
、stdlib.h
、string.h
、float.h
- 目录函数,所在函数库为
dir.h
、dos.h
- 进程函数,所在函数库为
stdlib.h
、process.h
- 转换子程序,函数库为
math.h
、stdlib.h
、ctype.h
、float.h
- 诊断函数,所在函数库为
assert.h
、math.h
- 输入输出子程序,函数库为
io.h
、conio.h
、stat.h
、dos.h
、stdio.h
、signal.h
- 其它函数。。。。 其实,划分不划分,意义不大。没有人用到所有函数,也没有人记得住所有函数名和参数。都是用的时候查帮助文件,或到网上查找。常用的函数并不多,熟能生巧,不用死记。
C语言中数据类型是按什么划分的
答: 数据类型是按被说明量的性质、表示形式、占据存储空间的多少、构造特点来划分的。在 C 语言中,数据类型可分为:基本数据类型、构造数据类型、指针类型、空类型。
C语言中关于内存划分的问题
数据结构专门有讲的,下几个课件看看就行了。
1. 分配内存空间函数 malloc
调用形式:
(类型说明符*) malloc (size)
功能:在内存的动态存储区中分配一块长度为 "size" 字节的连续区域。函数的返回值为该区域的首地址。
"类型说明符" 表示把该区域用于何种数据类型。(类型说明符*) 表示把返回值强制转换为该类型指针。"size" 是一个无符号数。
例如:
pc = (char *) malloc (100);
表示分配 100 个字节的内存空间,并强制转换为字符数组类型,函数的返回值为指向该字符数组的指针,把该指针赋予指针变量 pc
。
2. 分配内存空间函数 calloc
calloc
也用于分配内存空间。
调用形式:
(类型说明符*) calloc(n, size)
功能:在内存动态存储区中分配 n 块长度为 "size" 字节的连续区域。函数的返回值为该区域的首地址。(类型说明符*) 用于强制类型转换。
calloc
函数与 malloc
函数的区别仅在于一次可以分配 n 块区域。
例如:
ps = (struct stu*) calloc(2, sizeof (struct stu));
其中的 sizeof(struct stu)
是求 stu
的结构长度。因此该语句的意思是:按 stu
的长度分配 2 块连续区域,强制转换为 stu
类型,并把其首地址赋予指针变量 ps
。
3. 释放内存空间函数 free
调用形式:
free(void* ptr);
功能:释放 ptr
所指向的一块内存空间,ptr
是一个任意类型的指针变量,它指向被释放区域的首地址。被释放区应是由 malloc
或 calloc
函数所分配的区域。
例如:
main()
{
struct stu
{
int num;
char *name;
char sex;
float score;
} *ps;
ps = (struct stu*) malloc(sizeof(struct stu));
ps->num = 102;
ps->name = "Zhang ping";
ps->sex = 'M';
ps->score = 62.5;
printf("Number=%d\nName=%s\n", ps->num, ps->name);
printf("Sex=%c\nScore=%f\n", ps->sex, ps->score);
free(ps);
}