C语言学习点滴
kittyjie
这个作者很懒,什么都没留下…
展开
-
C语言学习笔记(三)——预编译指令
另外ANSI 标准C 还定义了如下几个宏:_LINE_ 表示正在编译的文件的行号_FILE_ 表示正在编译的文件的名字_DATE_ 表示编译时刻的日期字符串,例如: "25 Dec 2007"_TIME_ 表示编译时刻的时间字符串,例如: "12:30:55"_STDC_ 判断该文件是不是定义成标准C 程序 ===============================原创 2009-07-20 16:05:00 · 941 阅读 · 0 评论 -
C语言学习笔记(二)——表达式
++、--作为前缀,我们知道是先自加或自减,然后再做别的运算;但是作为后缀时,到底什么时候自加、自减?这是很多初学者迷糊的地方。假设i=0,看例子: //例子为逗号表达式,i 在遇到每个逗号后,认为本计算单位已经结束,i 这时候自加。A),j =(i++,i++,i++); j=3,i=3 //例子为逗号表达式,i 在遇到每个逗号后,认为本计算单位原创 2009-07-20 15:26:00 · 694 阅读 · 0 评论 -
C语言学习笔记(一)——数组指针杂项
32位机 int *p = NULL;sizeof(p)的值是多少? 4sizeof(*p)呢? 4 这里需要理解一下数组首地址和数组元素首地址。&a,&a[0],a,虽然这两个地址是一样的,但是含义确实不一样的。原创 2009-07-20 12:23:00 · 1021 阅读 · 2 评论 -
C语言学习笔记(四)——数组和指针
int *p = NULL;这时候我们可以通过编译器查看p 的值为0x00000000。这句代码的意思是:定义一个指针变量p,其指向的内存里面保存的是int 类型的数据;在定义变量p 的同时把p 的值设置为0x00000000,而不是把*p 的值设置为0x00000000。这个过程叫做初始化,是在编译的时候进行的。 int *p;*p = NULL;同样,我们可以在原创 2009-07-21 14:22:00 · 1752 阅读 · 0 评论 -
C语言学习笔记(五)——内存的使用
为指针分配了内存,但是内存大小不够,导致出现越界错误。char *p1 = “abcdefg”;char *p2 = (char *)malloc(sizeof(char)*strlen(p1));strcpy(p2,p1);p1 是字符串常量,其长度为7 个字符,但其所占内存大小为8 个byte。初学者往往忘了字符串常量的结束标志“/0”。这样的话将导致p1 字符串中最后一个原创 2009-07-21 15:23:00 · 1053 阅读 · 0 评论