标签:c 编程 计算机 微软 visual stduio windows
<span style="font-family:KaiTi_GB2312;font-size:24px;">#include<stdio.h>
#include<stdlib.h> //要使用malloc(),必须包含此库文件
void main()
{
char count, *ptr1, *p;
ptr1 = malloc(27*sizeof(char));
ptr1[26] = 0;//字符串要加0
if (ptr1 == NULL)
{
puts("没有足够的空间卡可以分配!\n");
}
p = ptr1;//将ptr1指针地址赋值给指针p
for (count= 65; count < 91; count++)
{
*(p++) = count;
}
printf("打印ptr1:\n");
puts(ptr1);//打印出ptr1中的所有值
printf("打印P:\n");
p = ptr1; //因为此时P指针地址已经指到了0处,所以必须赋值。
puts(p);
free(ptr1); //释放malloc()分配的内存
system("pause");
}
</span>
运行结果:
<span style="font-family:KaiTi_GB2312;font-size:24px;">#include<stdio.h>
#include<stdlib.h> //要使用malloc(),必须包含此库文件
void main()
{
char *message;//声明一个名为message的指针,但此时不指向任何地址。
char *message1 = "I am mini ,I am very well ! ";//mesage1是指向该字符串的指针。
//等价于
char *message2[] = { "I am mini ,I am very well ! " }; //如果编写程序时,知道要分配多少空间,则可以使用这种方式。
/*
也可以使用malloc()动态分配内存空间
malloc()是C语言中的一个内存分配函数。malloc()返回一个地址,该函数返回类型为void指针。
*/
char *str;
str = (char *)malloc(100);//为字符串分配100字节空间
if (str == NULL)//当没有足够的内存空间可以分配,则返回NULL
{
printf("没有足够的空间!\n");
exit(1);
}
int *numbers;
numbers = (int *)malloc(50 * sizeof(int));//为int类型分配空间
float *numbers1;
numbers1 = (float *)malloc(10 * sizeof(float));
//存储一个字符的内存空间
char *ptr;
ptr = malloc(1);//分配1字节的空间
*ptr = 'x';//将字符x存入*ptr中
printf("分配空间完毕!\n");
system("pause");
}</span>
标签:c 编程 计算机 微软 visual stduio windows
原文地址:http://blog.csdn.net/mini0520/article/details/26399119