#include <stdio.h>
#include <stdlib.h>
int main()
{ char *arr;
int n;
int i;
scanf ("%d",&n);
getchar(); //收入回车符;
for(i=0;i<n;i++)
scanf ("%c",&arr[i]);
for(i=n-1;i>=0;i--)
printf("%c",arr[i]);
free(arr); //free 要填原来的首地址 arr。
return 0;
}
*/
/*
int main () //计算电脑内存算法
{
int *arr;
int c=0;
while ( arr=malloc(100*1024*1024)) //申请成功返回 1,不成功返回0或 NULL (NULL 也是一种指针类型)
{
c++;
}
free(arr);
printf ("%d",c);
}
*/
/*
int main () //用 malloc()良好用法习惯
{
int *p=0; 在开始用之前给 p 赋0值,保证free时返回原来地址0;-|
|
p=malloc(1024); |
p++; |
|
free(p); <--------------------------------------------------------|
}*/
/* 总结
1.malloc申请单位是以字节为单位;
2.malloc 的返回类型是 void类型;需要转换为自己需要的类型(通常和上边的一样)
*/
#include <stdlib.h>
int main()
{ char *arr;
int n;
int i;
scanf ("%d",&n);
getchar(); //收入回车符;
arr= (char*)malloc(n*sizeof(char)); //malloc 括号里是以字节为单位,填字节数;
//sizeof(char)类型的计算方式是防止不同编译器定义int的字符不同
for(i=0;i<n;i++)
scanf ("%c",&arr[i]);
for(i=n-1;i>=0;i--)
printf("%c",arr[i]);
free(arr); //free 要填原来的首地址 arr。
return 0;
}
*/
/*
int main () //计算电脑内存算法
{
int *arr;
int c=0;
while ( arr=malloc(100*1024*1024)) //申请成功返回 1,不成功返回0或 NULL (NULL 也是一种指针类型)
{
c++;
}
free(arr);
printf ("%d",c);
}
*/
/*
int main () //用 malloc()良好用法习惯
{
int *p=0; 在开始用之前给 p 赋0值,保证free时返回原来地址0;-|
|
p=malloc(1024); |
p++; |
|
free(p); <--------------------------------------------------------|
}*/
/* 总结
1.malloc申请单位是以字节为单位;
2.malloc 的返回类型是 void类型;需要转换为自己需要的类型(通常和上边的一样)
*/