欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

c和指针(pointers on C)第四 ,五章 学习记录

程序员文章站 2022-03-11 18:25:43
...

1.布尔类型

C不具备布尔类型,而是用整型来替代,一般情况下,0表示假,非0表示真

2.位操作符

第五章中介绍了很多关于位操作符的内容,位操作与编汇相关,现在先跳过需要的时候再来看。

3.条件操作符

条件操作符接受三个操作数
expression1 ? expression2: expression
先计算expression1,若为真,则整个表达式的值为expression2,反之为expression3
eg:
a>5 ? b-6 : c/2
若a大于5 则执行b-6,反之执行c/2
利用条件操作符,可极大简化简单的条件语句

4.逗号操作符

expression1,expression2,expression3,…
逗号操作符将两个或多个表达式分隔开,这些表达式自左向右逐个求值,整个逗号表达式的值就是最后那个表达式的值。
eg:

if(b+1,c/2,d>0)
如果d的值大于0,整个表达式为真

虽然上例看起来逗号表达式没有什么意义,再看一个例子

while(a=get_value(),count_value(),a>0)
这样就相当于循环获得下个a的值的过程被简化,利于维护

5.左值和右值

L-value 和R-value简单的来说
左值需要特定的位置,且只能将右值赋值给左值
eg:
a=b+25; 正确
b+25=a; 错误
因为b+25并没有一个特定的地址去储存这个值,它只是一个表达式
同理 *pointer=20;
左值虽然也是一个表达式,但它有固定的地址存在,因此是正确的赋值。

相关标签: C语言 指针