当前位置: 首页 > news >正文

怎么美化网站网站建设需求方案文档

怎么美化网站,网站建设需求方案文档,c 网站开发入门视频,嵌入式转行到网站开发http://blog.csdn.net/Bixiwen_liu/article/details/53610952 这几天把C语言巩固了一下#xff0c;作为一门最基本的编程语言#xff0c;C语言还是相当基础和非常重要的#xff0c;个人认为C语言还是很有必要学好吃透的。 今天写的话题是结构体结构体中一级指针和二级指针的…http://blog.csdn.net/Bixiwen_liu/article/details/53610952 这几天把C语言巩固了一下作为一门最基本的编程语言C语言还是相当基础和非常重要的个人认为C语言还是很有必要学好吃透的。 今天写的话题是结构体结构体中一级指针和二级指针的创建与释放以一个例子来说明笔者这里自己敲得代码虽然用C语言几年了但是有的东西还是会遗忘。笔者敲代码过程中也是有bug出现的经过调试也找到了bug所在不得不说巩固也是很重要的。而结构体作为C语言一部分也是很重要的指针作为C语言的半壁江山也保持着其重要地位。代码不是很长但里面有很多细节的考虑特别是一级指针和二级指针的内存的申请和释放。 代码的主要表达是有三个老师每个老师都有属性名字,年龄别名编号以及有三个学生名字。老师名字name的内存分配是在栈区别名alisname和学生名stuname的内存分配是在堆区。个人认为C语言的内存四区栈区堆区全局区代码区很重要所以喜欢从内存四区的角度看代码对理解C语言的本质是重要也是理解bug所在的重要原因。 下面是示例代码 [cpp] view plain copy // 结构体 示例   #include stdio.h   #include stdlib.h   #include string.h      typedef struct Teacher // 定义一个结构体名称为Teacher   {       char name[64];       int age;       char *alisname;//别名       char **stuname;       int id;   }Teacher;      int createTeacher(Teacher **pT, int num)   {       int i  0;       int j  0;       int ret  0;       Teacher *tmp  NULL;          tmp  (Teacher *)malloc(num * sizeof(Teacher));       if (tmp  NULL)       {           ret  -1;           printf(malloc err: %d\n,ret);           return ret;       }       memset(tmp, 0, num * sizeof(Teacher));          for (i  0; i  num; i)       {           char **myp  NULL;                      //先创建一级指针           tmp[i].alisname  (char *)malloc(60);           if ( tmp[i].alisname  NULL)           {               ret  -2;               printf(malloc tmp[i].alisname err: %d\n,ret);               return ret;           }              //再创建二级指针           myp  (char **)malloc(3 * sizeof(char *));           if (myp  NULL)           {               ret  -3;               return ret;           }           for (j  0; j  3; j)           {               myp[j]  (char *)malloc(60);               if (myp[j]  NULL)               {                   ret  -4;                   return ret;               }           }           tmp[i].stuname  myp;       }          *pT  tmp;       return ret;   }      int printTeacherandStu(Teacher *p, int num)   {       int i  0;       int j  0;       int ret  0;       Teacher *tmp  NULL;          if (p  NULL)       {           ret  -1;           printf(p is null : %d\n,ret);           return ret;       }       tmp  p;          for (i  0; i  num; i)       {           char **myp  NULL;                      printf(teacher name: %s\n,tmp[i].name);           printf( teacher alisname: %s\n,tmp[i].alisname);              printf(  students name:  );           myp  tmp[i].stuname;           for (j  0; j  3; j)           {               printf(%s  ,myp[j]);           }           printf(\n);          }       return ret;      }      void FreeTeacher(Teacher *p, int num)   {       int i  0;       int j  0;       Teacher *tmp  NULL;          tmp  p;          for(i  0; i  num; i)       {           char **myp  NULL;           //先释放以及指针           if (tmp[i].alisname ! NULL)           {               free(tmp[i].alisname);           }              //再释放二级指针           if (tmp[i].stuname ! NULL)           {               myp  tmp[i].stuname;               for (j  0; j  3; j)               {                   if (myp[j] ! NULL)                   {                       free(myp[j]);                   }               }               free(myp);               tmp[i].stuname  NULL;           }          }       free(tmp);   }      int main()   {       int ret  0;       int i  0;       int j  0;       int num  3;       Teacher *pArray  NULL;          ret  createTeacher(pArray, num);       if (ret ! 0)       {           printf(func createTeacher() err: %d\n,ret);           return ret;       }          for (i  0; i  num; i)       {           printf(\nplease input teachers name:);           scanf(%s,pArray[i].name);              printf(\n please input teachers age:);           scanf(%d,(pArray[i].age));              printf(\n please input teachers alsname:);           scanf(%s,pArray[i].alisname);              for (j  0; j  3; j)           {               printf(\n  please input student name:);               scanf(%s,pArray[i].stuname[j]);           }       }          ret  printTeacherandStu(pArray, num);       if (ret ! 0)       {           ret  -2;           printf(func printTeacherandStu() err: %d\n,ret);           return ret;       }          FreeTeacher(pArray, num);       return 0;   }
http://www.yutouwan.com/news/211515/

相关文章:

  • 东莞网站建设效果淘宝网网页版登录官网登录
  • 怎么从网站知道谁做的公司网站网页设计
  • 厦门无忧网站建设有限公司六安网络推广
  • 如何做网站咨询wordpress 上传类型
  • 上海做外贸建站的专业公司pc端自定义页设计与制作
  • 网站设计欣赏移动h5页面制作工具 软件
  • 淘宝网站怎么做的苏州建网站要多少钱
  • 深圳福田专业网站推广玉山网站制作
  • 桐庐县建设局网站关于实验室建设的英文网站
  • 如何用二级域名做网站wordpress腾讯云cdn配置教程
  • 网页设计素材音乐嘉兴seo计费管理
  • 乐清做网站哪家好简述设计优秀电子商务网站的成功要素
  • 分类目录网站大全做seo仿牌网站服务器
  • 网站设计深圳联系电话?百度贴吧论坛
  • 防邪办网站建设方案文档seo专员是指什么意思
  • 网站建设氺金手指排名14写网站建设需求文档
  • 广州 济南网站建设公司 网络服务网站建设专员一定要会网站建设吗
  • 视频直播网站建设招聘信息网站建设
  • 制作app免费网站模板如何做百度推广网站
  • 影视文化传媒公司网站建设wordpress 显示文章摘要
  • 衡阳网站优化方案公司宣传册设计与制作公司
  • 公司网站建设需要要求什么软件报价网站系统
  • wap自助建论坛网站什么软件推广比较赚钱
  • 网站后台建设协议书如何做推广
  • 网站案例展示怎么做报名入口网站建设
  • 唐山官方网站建设wordpress博客注册
  • 网站页面链接结构怎么开发软件挣钱
  • 企业网站seo营销中天建设集团有限公司重庆分公司
  • 神华科技网站建设WordPress中文企业免费主题
  • 腾讯快速建站平台为何网站建设公司报价不同