通过一个小程序看你C语言语法掌握了多少
2016-02-07 01:16
357 查看
今天看了《嵌入式系统高级C语言编程》一书中有这么一个例子,可以大概看一个程序员C语言掌握的如何?我看了一下,有一定的代表性,就把它写出来给大家分享一下。
大家可以在评论里测一测,找出程序的错误处。请先别看书中的答案。
/* 函数功能:将入口参数ptr所指向的内容通过两个内部缓冲区p和q复制到局部数组buf[]中 并将该数组的首地址作为返回值传递到函数外。 */ #include "stdlib.h" char * test(char * ptr) { unsigned char i; char buf[8*1024]; char *p, *q; /*将数组初始化为0*/ for(i=0;i<=8*1024;i++) buf[i] = 0x0; p = malloc(1024); if(p == NULL) return NULL; /*p申请失败,返回空指针*/ q = malloc(2048); if(q = NULL) return NULL; /*q申请失败,返回空指针*/ memcpy(p,ptr,1024); memcpy(q,ptr,2048); //将ptr所指向的内容复制到q memcpy(buf,p,1024); //现在我们将p和q中的内容合并到buf数组中 buf = buf + 1024; memcpy(buf,q,2048); free(p); free(q); return buf; //将数组buf的首地址返回出去 }
大家可以在评论里测一测,找出程序的错误处。请先别看书中的答案。
相关文章推荐
- C++大牛的博客
- c++中int和string的互转
- c语言。利用交换概览把值从大到小输出
- c++中int a, int *a=new int和 int *a=new int()
- 与字符串有关的一些典型问题的C++解法
- 蓝桥杯 地宫取宝(记忆化搜索)
- C++函数指针与回调函数
- C++基本概念——聊聊C++中的函数匹配那些事儿
- C++ Vector 用法总结
- 链表(C语言实现)
- C字符串练习题心得
- 曾经进公司面试的C语言有关指针和数组的笔试题
- 曾经进公司面试的C语言有关指针和数组的笔试题
- 曾经进公司面试的C语言有关指针和数组的笔试题
- neuq oj 1011 进制转换C++
- c++中的&
- C++PE文件格式解析类(轻松制作自己的PE文件解析器)
- C++类成员函数做参数以及转换调用
- c++ 成员函数作为函数指针参数传入
- C++STL之set容器及stream类