我的c学习之路三------符号(包括指针)

c是一种面向函数的语言。所以就使用面向函数的学习方式。我认为将所有的关键字和标准函数都学习一下。应该就可以自己组织代码了。因为有编程的基础。所以那些循环、条件判断等东西就可以忽略过去。
首先决定学习所有的符号。

1.数学符号
+-*/四则基本运算。需要注意的是变量相加或相乘要注意溢出。
% 取余数,7%3=1
++ 自增1
-- 自减1
一般c语言教程上都有i++和++i的区别。个人建议新手不要在很长的比较式子当中使用。因为经常会搞错。例如什么if((++i)+(i++)<++++b)之类的。哪怕多写几行代码。不要自己给自己找麻烦。而且不同的编译器对这种长式子的编译不一样。

2.判断符号
<,>,<=,>=这个和中学数学学的没什么区别。
==判断符号两边的表达式是否相同
!=判断符号两边的表达式是否不相同

3.位元符号
! 取反的意思,一般之用在布尔类型当中。
&& 而且的意思。等同于一些语言中的and
||或者的意思。等同于一些语言中的or
~反转每个位元的数 意思就是101=~010
& 二进制中的and,比如1100&1001=1000 意思就是同一位上必须都是1结果才是1,否则就是0
| 二进制中的or 比如1100|1001=1101 意思就是同一位上只要一个是1结果就是1
^ 二进制中的and相反的意思。比如1101^1001=1001 意思就是同一位上只要相同(都是1或者都是0)结果就是1.否则为0
<< 左移 就是二进制表示中。多加了一个0.如果溢出就取掉。例如010<<1=100,而110<1=100
>> 右移 和左移类似

4.指定符号
基础就是等号,等号和其他的符号相组合就成了两个符号的功能组合
比如
a=5
a+=1
意思就是a=a+1结果a=6
运算符号和位元符号都可以和=组合再一起
5.指针符号
* 意思就是代表着后面的变量是一个指针,指针指向的变量类型再*前面
比如 char *word 就是声明一个指向char类型的指针。指针名为word
这个指针其实就是一个int类型的变量。我的理解就是。每一个指针都是一个int类型的变量。变量存储的内容是一个地址。这个地址存储的内容类型是指针类型

& 变量的地址 类似其他语言中的addof

好多人都说学好指针就学好了c。所以有关指针的内容再多看了看

现在举个例子
变量a保存再地址0001中
变量b保存再地址0002中
地址0001中保存的内容是1111
地址0002中保存的内容是0001
这时的b一般都用*b来声明
而b就等于0001
&a也等于0001
所以b=&a
而*b就等于b所指向地址中的内容,就是1111

另外int **c,这种情况下就可以使用*c了。表示的意思就是:c是一个指针变量,这个指针变量保存的内容还是一个地址。
还是刚才的例子
变量c保存在地址0003中
地址0003中保存的地址是0002
那么*c就等于&b
c就等于0003
*c就等于0002也就等于b的值
**c就等于0001,也就等于*b的值,同时等于&a的值
***c就等于1111,也就是等于a的值了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值