随笔分类 -  编程语言

摘要:最近想找一个C语言处理嵌套结构体和结构体数组的json库,理想的是能够很容易处理复杂结构体嵌套,并且使用简单的,但是没找到比较合适的,于是打算自己封装一个; 两个问题: C语言结构体本身没有元数据,这也就没法在生成过程中自动分析类型进行处理,所以,需要生成对应结构体的元数据信息,根据元数据完成对结构 阅读全文
posted @ 2019-10-30 19:44 AlexAlex 阅读(3175) 评论(2) 推荐(0) 编辑
摘要:1 int snprintf(char *str, size_t size, const char *format, ...); 从用snprintf开始,size参数一直传的都是buff_size-1,像这样: 1 int main() 2 { 3 char *a = "hello"; 4 5 c 阅读全文
posted @ 2019-10-30 19:43 AlexAlex 阅读(495) 评论(0) 推荐(0) 编辑
摘要:C语言中!!的作用是?看例子; 1 #include <stdio.h> 2 3 int main() 4 { 5 int test = 666; 6 7 printf("test=%d !test=%d !!test=%d\n", test, !test, !!test); 8 9 return 阅读全文
posted @ 2019-10-28 09:01 AlexAlex 阅读(1357) 评论(0) 推荐(0) 编辑
摘要:restrict是c99标准引入的,它只可以用于限定和约束指针,并表明指针是访问一个数据对象的唯一且初始的方式.即它告诉编译器,所有修改该指针所指向内存中内容的操作都必须通过该指针来修改,而不能通过其它途径(其它变量或指针)来修改;这样做的好处是,能帮助编译器进行更好的优化代码,生成更有效率的汇编代 阅读全文
posted @ 2016-03-29 14:33 AlexAlex 阅读(530) 评论(0) 推荐(0) 编辑
摘要:这样的不带参数的函数声明,在c中是合法的,表示任意参数;当然我们自己写代码最好不要这样写了,但是读老代码还是会遇到; 1 #include <stdio.h> 2 3 void fun(); 4 5 int main() 6 { 7 fun(1); 8 return 0; 9 } 10 11 voi 阅读全文
posted @ 2016-03-25 23:10 AlexAlex 阅读(962) 评论(0) 推荐(0) 编辑
摘要:1. filter(function, sequence): 对sequence中的元素执行function函数,返回由function函数执行结果为True的元素组成的序列,注意新序列类型与传入序列相同 测试:返回正数 #!/usr/bin/env python def findPositiveN 阅读全文
posted @ 2016-03-18 22:00 AlexAlex 阅读(663) 评论(0) 推荐(0) 编辑
摘要:关于void*,今天同学提起,其实以前在《C++编程思想》中看过,内容是C语言中void*和其他 类型的相互赋值都是可以的,但是C++中是不允许把void*赋值给其他类型的。做个代码试验如下: 1 /* test.c void*测试 */ 2 3 #include <stdio.h> 4 #incl 阅读全文
posted @ 2010-07-31 17:40 AlexAlex 阅读(3448) 评论(3) 推荐(1) 编辑
摘要:关于讨论代码中的 c = a+++b 这个表达式的面试题一直都在出现。从很直观的角度上来说你可以理解成为以下的两种形式 一个是 c = (a++) + b; 另一种是c = a + (++b); 其实做过编译程序的人可以考虑以下过程,在词法分析阶段要进行的是将输入的文件切成token,并形成toke 阅读全文
posted @ 2010-07-21 13:36 AlexAlex 阅读(2492) 评论(0) 推荐(1) 编辑
摘要:前两天写个程序,传参数的时候想传个二维数组进去,结果悲剧了,函数写成 Fun (int **p){},原来没有这么写过,以为这么写也是对的,结果错了,查了些资料, 做个总结。 Fun (int **p){} 这里面的int **p //这里的p不是二维数组的指针,而是指向指针的指针,即二级指针。 正 阅读全文
posted @ 2010-07-17 12:24 AlexAlex 阅读(34505) 评论(6) 推荐(1) 编辑

点击右上角即可分享
微信分享提示