C语言基础教程(二)数据类型、变量和运算符(11)

文章作者 100test 发表时间 2007:03:10 17:40:47
来源 100Test.Com百考试题网


对于指针变量的使用要特别注意。上例中两个指针在说明前没有初始化, 因此
这两指针为随机地址, 在小存储模式下使用将会有破坏机器的危险。正确的使用办
法如下:
例如:
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
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)


相关文章


C语言基础教程(二)数据类型、变量和运算符(11)
C语言基础教程(二)数据类型、变量和运算符(11)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛