当前位置:天才代写 > tutorial > C语言/C++ 教程 > C语言基本教程(二)数据范例、变量和运算符(11)

C语言基本教程(二)数据范例、变量和运算符(11)

2017-11-04 08:00 星期六 所属: C语言/C++ 教程 浏览:418

对付指针变量的利用要出格留意。上例中两个指针在说明前没有初始化,因此这两指针为随机地点, 在小存储模式下利用将会有粉碎呆板的危险。正确的利用步伐如下:
譬喻:
main()
{
int *i;
char *str;
i=(int*)malloc(sizeof(int));
i=420;
str=(char*)malloc(20);
str="Good, Answer!";
.
.
.
}
上例中, 函数(int*)malloc(sizeof(int))暗示分派持续的sizeof(int)=2个字节的整型数存储空间并返回其首地点。同样(char*)malloc(20)暗示分派持续20个字节的字符存储空间并返回顾地点(有关该函数今后再详述)。由动态内存分派函数
malloc()分派了内存空间后, 这部门内存将专供指针变量利用。
假如要使i指向三个整型数, 则用下述要领。
譬喻:
#include<alloc.h>
main()
{
int *a;
a=(int*)malloc(3*sizeof(int));
*a=1234;
*(a+1)=4567;
*(a+2)=234;
.
.
.
}
*i=1234暗示把1234存放到i指向的地点中去,但对付*(i+1)=4567,假如认为将4567存放到i指向的下一个字节中就错了。Turbo C2.0中只要说明i为整型指针,
则 (i+1) 等价于 i+1*sizeof(int)
同样 (i+2) 等价于 i+2*sizeof(int)

 

    关键字:

天才代写-代写联系方式