显示下一条  |  关闭

手中沙的博客

静下心来,踏踏实实做事!

 
 
 
 
 
 

[转载]sizeof()用法汇总

2009-2-5 17:48:57 阅读93 评论0 52009/02 Feb5

sizeof()功能:计算数据空间的字节数

1.与strlen()比较

      strlen()计算字符数组的字符数,以"\0"为结束判断,不计算为'\0'的数组元素。

      而sizeof计算数据(包括数组、变量、类型、结构体等)所占内存空间,用字节数表示。

2.指针与静态数组的sizeof操作

      指针均可看为变量类型的一种。所有指针变量的sizeof 操作结果均为4。

注意:int *p; sizeof(p)=4;

    

作者  | 2009-2-5 17:48:57 | 阅读(93) |评论(0) | 阅读全文>>

sizeof()与strlen ()

2009-2-5 17:18:27 阅读113 评论0 52009/02 Feb5

1.sizeof是操作符(operator),strlen是函数。

2.因为sizeof是operator,所以sizeof后面如果是类型,必须加括号,如果是变量名可以不加括号。

3.sizeof操作符的结果类型是size_t(被typedef为unsigned int类型)。

4.sizeof可以用类型做参数,strlen只能用char *类型的变量作为参数,并且必须以“\0”结尾。strlen计算字符串的长度,一直到遇到“\0”为止。

5.数组作为sizeof的参数不退化,传递给strlen就退化为指针。

作者  | 2009-2-5 17:18:27 | 阅读(113) |评论(0) | 阅读全文>>

C语言关键字volatile(转载)

2009-2-4 10:58:49 阅读88 评论0 42009/02 Feb4

volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改。

用volatile关键字声明的变量i每一次被访问时,执行部件都会从i相应的内存单元中取出i的值。

没有用volatile关键字声明的变量i在被访问的时候可能直接从cpu的寄存器中取值(因为之前i被访问过,也就是说之前就从内存中取出i的值 保存到某个寄存器中),之所以直接从寄存器中取值,而不去内存中取值,是因为编译器优化代码的结果(访问cpu寄存器比访问ram快的多)。

以上两种情况的区别在于被编译成汇编代码之后,两者是不一样的。之所以这样做是因为变量i可能会经常变化,保证对特殊地址的稳定访问。


volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改

作者  | 2009-2-4 10:58:49 | 阅读(88) |评论(0) | 阅读全文>>

数组与指针

2009-1-4 17:56:07 阅读148 评论0 42009/01 Jan4

在C语言中,指针和数组有着紧密的联系,其原因在于凡是由数组下标完成的操作皆可用指针来实现。在数组中我们已经知道,可以通过数组的下标唯一确定了某个数组元素在数组中的顺序和存储地址,这种访问方式也称为"下标方式"。例如:
int a[5] = {1, 2, 3, 4, 5}, x, y;
x=a[2]; /* 通过下标将数组a下标为2的第3个元素的值赋给x,x=3 */
y=a[4]; /* 通过下标将数组a下标为4的第5个元素的值赋给y,y=5 */
由于每个数组元素相当于一个变量,因此指针变量既然可以指向一般的变量,同样也可以指向数组中的元素,也就是可以用"指针方式"访问数组中的元素。


例10-6:分析程序的运行过程和结果。
#include <stdio.h>
main

作者  | 2009-1-4 17:56:07 | 阅读(148) |评论(0) | 阅读全文>>

Satic C

2008-12-29 11:58:18 阅读81 评论0 292008/12 Dec29

 

用static声明的函数和变量小结

static 声明的变量在C语言中有两方面的特征:

  1)、变量会被放在程序的全局存储区中,这样可以在下一次调用的时候还可以保持原来的赋值。这一点是它与堆栈变量和堆变量的区别。

  2)、变量用static告知编译器,自己仅仅在变量的作用范围内可见。这一点是它与全局变量的区别。

Tips:

  A.若全局变量仅在单个C文件中访问,则可以将这个变量修改为静态全局变量,以降低模块间的耦合度;

作者  | 2008-12-29 11:58:18 | 阅读(81) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 
 
 
 
 
 
下载音乐盒  曲目表歌词秀
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 我要留言
 
 
 
留言列表加载中...
 
 
 
 
 
 
 
 
模块内容加载中...
 
 
 
 
 
 
 
博友列表加载中...
 
 
 
 
 
 
 
列表加载中...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2012

   
创建博客 登录  
 关注