adder_example.c
来自「linux下的程序开发:本程序主要实现内存的分配和管理」· C语言 代码 · 共 45 行
C
45 行
#include<stdio.h>#include<string.h>#include<sys/types.h>#include<stdlib.h>#include<unistd.h>#define SHW_ADR(ID,I) printf("the id %s \t is at adr:%8X\n",ID,&I);extern etext,edata,end;char *cptr="Hello World\n";char buffer1[25];int main(void){ void showit(char *); int i=0; printf("Adr etext:%8x\tAdr edata:%8x \t Adr end :%8x \n\n",&etext,&edata,&end); SHW_ADR("main",main); SHW_ADR("showit",showit); SHW_ADR("cptr",cptr); SHW_ADR("buffer1",buffer1); SHW_ADR("i",i); strcpy(buffer1,"A demonstration\n"); write(1,buffer1,strlen(buffer1)+1); for(;i<1;++i) showit(cptr); return 0;}void showit(char *p){ char *buffer2; SHW_ADR("buffer2",buffer2); if((buffer2=(char *)malloc((unsigned)(strlen(p)+1)))!=NULL) { strcpy(buffer2,p); printf("%s",buffer2); free(buffer2); } else { printf("Allocation error.\n"); exit(1); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?