C和指针笔记
冷冰若水
我不怕万人阻挡,却只怕投降%……
展开
-
scanf();需要注意的几点
对于这个函数,你必须小心在意几点: 首先:由于scanf函数的实现原理,所有标量参数的前面必须加上一个“&”符号。这点以后再解释。数组参数前面不需要加上“&”符号(如果你加上也没有什么不妥的,所以如果你喜欢的话,也可以加上)。但是数组参数中如果出现了下表引用,也就是说实际参数是数组的某个特定元素,那么它的前面也必须加上“&”符号。在后面会解释在标量参数前面加上“&”符号的必要性。 关于标量的解原创 2013-02-15 15:17:54 · 707 阅读 · 0 评论 -
各种数据类型的取值范围
8位有符号数的补码表示范围(10000000表示的数最小,为-128) 范围是 -128至127. 根据补码的几条规定即可推出上述结论: 1 若二进制每位全为0,则表示数0 2 若最高位(即符号位)为0,表示正数 3 若最高位为1, 表示是负数,而该负数的绝对值是多少呢?将每个二进制位(包括符号位)取反加1,得到一个二进制数,将该数看成无符号数,其值就是上述负数的绝对值。原创 2013-02-19 17:00:41 · 1068 阅读 · 0 评论 -
typedef 和 #define
C语言支持一种叫做typedef的机制,它允许你为各种数据类型定义新名字。typedef声明的写法和普通的声明基本相同,只是把typedef这个关键字出现在声明的前面。例如: char *ptr_to_char; 把变量ptr_to_char声明为一个指向字符的指针。但是,在你添加关键字typedef后,声明变为: typedef char *ptr_to_char; 这个声明原创 2013-02-21 02:57:31 · 499 阅读 · 0 评论 -
C中字符串常量
ANSI C声明如果对一个字符串常量进行修改,其效果是未定义的,因此不建议在程序中队字符串常量进行修改操作。 另外,在程序中使用字符串常量会生成一个“指向字符的常量指针”。当一个字符串常量出现于一个表达式中时,表达式所使用的值就是这些字符串所存储的地址,而不是这些字符串本身。因此,你可以把字符串常量赋值给一个"指向字符的指针",后者指向这些字符所存储的地址。但是,你不能把字符常量赋值给一个字符数原创 2013-02-21 02:22:16 · 483 阅读 · 0 评论