BASIC解释器的任务之一就是记住程序所使用的变量的值。BASIC提供了几种不同的类型,所以每个变量的值和他的类型必须一起存储.这里有一个结构,用于保存这些信息,但效率不高(占用空间大) 1 struct Var 2 { 3 enum {INT,FLOAT,STRING} type; 4 int int_value; 5 float float_value; 6 char *string_value; 7 }; 当BASIC程序中的一个变量被创建时,解析器就创建这样的一个结构,并记录变量类型。然后根据变量的类型,把变量的值储存在这三个变量中的其中一个。改进后的结构: 1 struct Var Read More
posted @ 2011-05-19 09:23 zendPger Views(336) Comments(0) Diggs(0) Edit
1 struct str 2 { 3 int age; 4 struct str a; //自引用 5 };这种自引用的是非法的,因为成员a还包含令一个完整的成员,而那个成员有包含另个完整的成员。这样将无线循环下去。1 struct str 2 { 3 int age; 4 struct str *a;//自向自身的指针 5 };这里的a是一个指针而不是一个结构,编译器在确定结构的长度之前就已经知道指针的长度,所以这种自引用是合法的。 1 typedef struct 2 { 3 int age; 4 struct STR *a; 5 } STR; 6 陷阱:这个定义将是错误的.这个声明的目. Read More
posted @ 2011-05-18 16:23 zendPger Views(165) Comments(0) Diggs(0) Edit
什么是线程?在同一个程序中的多条执行路线就叫做线程(thread).或者线程是一个进程内部的控制序列。 Read More
posted @ 2011-05-17 17:06 zendPger Views(101) Comments(0) Diggs(0) Edit
一:int (*p)[10]; //声明一个指向整形数组的指针下标引用的优先级高于间接访问,但由于括号的存在,首先执行的还是间接访问。所以p是个指针,但它指向什么呢?接下来执行的是下标引用,所以p指向的是个数组。int martix[10[20];p = maxtix; //使p指向maxtix第一行.注意:二维数组的数组名是一个指向数组的指针二:int *p[10] ;//声明一个指针数组。下标引用高于间接访问(*),所以首先执行下标引用。因此p是某种类型的数组。在取得一个元素之后,随即执行的是间接访问操作,获得一个整形值。那么p到底是什么东西,对数组的一个元素执行*操作后,获得的是一个整形 Read More
posted @ 2011-05-17 16:01 zendPger Views(358) Comments(0) Diggs(0) Edit
c中多维数组的储存顺序是根据右边下标率先变化的原则确定的. Read More
posted @ 2011-05-17 15:43 zendPger Views(267) Comments(0) Diggs(0) Edit
1 #include<stdio.h> 2 #include<stdlib.h> 3 4 5 int main() 6 { 7 char ar0[] = {'n','a','m','e','i','s','l'}; //初始化字符数组方式1 8 char ar1[] ="nameisl"; //初始化字符数组方式2.这里是一个初始化列表,不是字符串常量,以后可以修改其值 9 char *ar2 = "NAMEISL"; Read More
posted @ 2011-05-17 13:40 zendPger Views(1906) Comments(1) Diggs(1) Edit
c中所有传递给函数的参数都是通过传值进行的。函数获得的是实参的一份拷贝。指针,数组也如此。 1 #include<stdio.h> 2 3 void show_addr(int *p) 4 { 5 printf("p2_addr:%x\tp2_content:%x\n",&p,p); 6 } 7 8 int main() 9 { 10 int *pt, i = 2; 11 pt = &i; 12 show_addr(pt); 13 printf("p1_addr:%x\tp1_content:%x\n",&pt,pt) Read More
posted @ 2011-05-17 11:31 zendPger Views(159) Comments(0) Diggs(0) Edit
数组名是一个指针常量.不可以进行++,--,>,>=等操作. Read More
posted @ 2011-05-16 18:06 zendPger Views(163) Comments(0) Diggs(0) Edit
OAuth 2.0很可能是下一代的“用户验证和授权”标准,目前在国内还没有很靠谱的技术资料。为了弘扬“开放精神”,让业内的人更容易理解“开放平台”相关技术,进而长远地促进国内开放平台领域的发展,笔者特意将OAuth 2.0协议翻译成中文。目前OAuth 2.0还没有最后定稿,最新的修改版是第11个版本,本文下面的翻译即基于这个第11版本。原文见http://tools.ietf.org/html/draft-ietf-oauth-v2-11。关于OAuth 2.0的更多背景知识,请参考我的另一篇文章:http://itgeeker.com/mathml/readpaper?pid=65(二)术 Read More
posted @ 2011-05-16 17:17 zendPger Views(1457) Comments(1) Diggs(0) Edit
JS: function copyToClipboard2() { if (document.all){ //判断IE var e=document.all("alltext2").value; window.clipboardData.setData('text', e); alert("复制成功,立即开始营销挣钱!");} else{ alert("您的浏览器不支持剪贴板操作,请自行复制。"); }; }改写jquery版 尽管还用的javascript语句 尽管很简单.....$(document).ready( Read More
posted @ 2011-05-12 15:38 zendPger Views(3206) Comments(1) Diggs(1) Edit