C语言内功强化之goto
goto语句可以直接跳转到自己定义的标签位置执行。他可能导致代码不易理解和维护,但有时候它可以用于一些特殊的控制流需求。
建议:在同一个函数内部使用。不要再不同的函数直接跳转。
语法规格:
goto lable;lable:实例:
#include "stdio.h"
#include "stdlib.h"int main(void)
{int *p1;int *p2;int *p3;// printf("内存分配成功\n");p2 = (int* )malloc(sizeof(int));if(!p2){printf("p2 内存分配失败\n");goto fail_1;}p3 = (int* )malloc(sizeof(int));if(!p3){printf("p3 内存分配失败\n");goto fail_2;}fail_2:free(p3);
fail_1:free(p2);return 0;
}