#include
#include //要使用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");
}
運行結果:
<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGJyPgo8L3A+CjxwPjxwcmUgY2xhc3M9"brush:java;">#include
#include //要使用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");
}
運行結果: