mq07825的个人空间 https://blog.eetop.cn/142955 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

C学习笔记

已有 946 次阅读| 2007-8-27 14:12

天气: 晴朗
心情: 高兴

int const *pci  /*声明pci指向整型常量的指针*/
int * const cpi  /*声明cpi为一个指向整型的常量指针*/
int const * const cpci /*无论是指针本身还是它所指向的值都是常量*/
4种不同类型的作用域:
文件作用域;函数作用域;代码作用域;原型作用域。
静态变量(static):存储于静态内存,不属于堆栈内存(函数的行参不能声明为静态,因为实参总是在堆栈中传递给函数)。
               static用于函数定义时,或代码块之外的变量声明时,STATIC关键字用于修改标识符的链接属性,EXTERNAL---》INTERNAL
  STATIC用于声名代码块内部的变量声明时,STATTIC关键字用于修改变量的存储类型,由自动变量---》静态变量
自动变量(automatic):存储于堆栈中。
 注意:(在代码内部,不AUTO---》STATIC)修改存储类型并不表示修改该变量的作用域,它依然只能在该代码内部按名字访问。
register寄存器变量:存储于机器的硬件寄存器中。自动变量的初始化较之赋值语句效率并无提高---除非声明为const的变量之外。
        int i=25;         int i;
         i=25;   两者只是风格不同。
 int const i=25;   int const i;
         i=25;   前者效率更高。
左移操作:左移的位被丢弃,右边用0补起; <<
右移操作:    >>
 分两种情况:1.逻辑移位--左边用0填充;
             2.算术移位--若符号为位1,则移入的位均为1;
                  若符号为位0,则移入的位均为0;
        即此情况只有为负数时才不一样。
与:i&j
或:i|j
异或:i^j


a+=expression  与  a=a+(expression)  的区别:
前者的左操作数(a)只求值一次,而且+=的右侧EXPRESSION没有副作用。

int X;
sizeof (int)  求整数型长度
sizeof  x     求变量X的长度
sizeof  x     x为数组名,返回数组的长度;(注意:如果x是形参,则此语句返回的是指向int类型的指针的长度);
   括号中的表达式总是合法的。所以判断表达式的长度并不需要对表达式进行求值。所以sizeof(a=b+1)并没有向a赋任何值。

++a=10   错误,因为++a是一个值,而不是变量;/*++a其实是复制值*/
前缀和后缀形式的——份变量的拷贝。用于周围表达式的值正是这份拷贝。前缀操作符在进行复制之前增加变量的值,后缀操作符在进行复制之后才进行增加变量的值。

条件操作符与if语句的使用速度相同,但前者更加简洁。
 if(a10)  b=4+4;       b=a>10?8;2
 else     b=1+1;


int a=20;
if(1<=a<=10)
 printf("In range\n");
else
 printf("Out of range\n");  
/* 执行if语句时,其实是按照逻辑或进行的,所以1<=a<=10为真   */ 


宏:
   定义于stdarg.h头文件中,头文件声明了一个类型va_list和三个宏--va_start,va_arg,va_end.


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 0

    获赞
  • 0

    评论
  • 105

    访问数
关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-24 21:01 , Processed in 0.023301 second(s), 15 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部