夜已深,暂时附上一个截图,后面慢慢道来。
下图时用codeblocks调试C语言的界面,codeblocks版本是17.12nosetup版,也为继承mingw,我用的编程器是tdm-gcc-5.1.0-3.exe,
下面是关于指针操作的一个实例:
void memorylocate(char **ptr)
{
*ptr=(char *)malloc(10*sizeof(char));
}
int main(void)
{
int a=2;
int b=3;
printf("Before swap a=%d b=%d\n",a,b);
swap(&a,&b);
printf("After swap a=%d b=%d\n",a,b);
char *buffer = &a;
memorylocate(&buffer);
strcpy(buffer,"12345");
printf("buffer %s\n",buffer);
运行的情况如下所示,这是我运行时的每个变量的动态过程。:
地址可以变动的。视具体的编译器和编译环境。