当前位置:首页 > 内存 > 正文

共享内存的四个函数(释放共享内存)

  • 内存
  • 2024-06-14 14:02:06
  • 2679

一、C语言建立共享内存#include
#include
#include
char*内存,*currentPointer;
voidShareMemory(charfunction,char*a)
{
switch(function)
{
case'c':
内存=(char*)malloc(65*sizeof(char));
内存[64]=0;
currentPointer=内存;
break;
case'r':
printf("%s",内存);
printf("\n");
break;
case'w':
strcpy(currentPointer,a);
while(*currentPointer!='\0')
{
currentPointer++;
break;
case'd':
free(内存);
break;
默认:
printf("错误的参数!");
}
}
intmain()
{
char*a="aaaaa";
ShareMemory('c',a);
ShareMemory('r',a);
ShareMemory('w',a);
a="bbbbbb";
ShareMemory('w',a);
ShareMemory('r',a);
ShareMemory('d',a);
return0;
}


二、C语言编程:键盘输入10个数,用函数实现计算数据中最大值、最小值,并返回它们所在数组中的位置。

在main函数内部,声明一个10个int类型元素的数组,用于存储键盘输入的数据,并声明一个变量ml记录最大值的位置,一个变量ms记录最小值的位置。自定义函数voidInput_Max_Min(int*p,int*pl,int*ps)以满足您的问题的要求。其中p是数组中的第一个指针,pl是最大值位置(下标)变量指针,ps是最小值。值位置(下标)(标准)变量指针。在main函数中输出结果。这是代码:

#include"stdio.h"
voidInput_Max_Min(int*p,int*pl,int*ps){
inti;
printf("请输入10位数字...\n");
for(*pl=*ps=i=0;i<10;i++){//整数输入10判断大小
scanf("%d",p+i);
if(p[i]*ps=i;
if(p[i]>p[*pl])//当前输入的数字为最大值如果大于记录,更改记录
*pl=i;
}
}
intmain(intargc,char*argv[]){
intm[10],ml,ms;
Input_Max_Min(m,&ml,&ms);//使用数组的首地址和最大最小位置记录变量地址并使用自定义函数调用
printf("最大值为m[%d]==%d\n最小值为m[%d]==%d\n",ml,m[ml],ms,m[ms]);//输出结果
return0;
}

按如下方式运行示例。

上一篇:怎么共享内存

下一篇:c共享内存