11 改变值(动态内存分配)
// 11 改变值(动态内存分配)
# include<stdio.h>
# include<malloc.h>
void f(int * q)
{
* q =100;
}
int main(void)
{
int * p;
p = (int *)malloc(sizeof(int));
* p = 10;
printf("%d\n",*p);
f(p);
printf("%d\n",*p);
return 0;
}
12 数组输入输出(动态内存分配)
// 12 数组输入输出(动态内存分配)
# include<stdio.h>
# include<malloc.h>
int main(void)
{
int len,*pArr,i;
printf("请输入数组长度:");
scanf("%d",&len);
pArr = (int *)malloc(sizeof(int) * len);
for(i = 0;i < len;++i)
{
scanf("%d",&pArr[i]); //注意不用*
}
for(i = 0;i < len;++i)
{
printf("%-3d",pArr[i]); //注意不用*
}
printf("\n");
return 0;
}
13 函数+指针来输出数组
// 13 函数+指针来输出数组
# include<stdio.h>
void f(int * pArr,int len)
{
int i;
pArr[3] = 88; // 不需要*
for(i = 0;i < len;++i)
{
printf("%-3d",* (pArr + i)); //等效于pArr[i],a[i],
}
}
int main(void)/
{
int a[5] = {1,2,3,4,5};
f(a,5); //类似于scanf的功能
return 0;
}
14 改变值(int * p时)(必须动态内存)
// 14 改变值(int * p时)