C语言几点知识点总结

C语言指针知识点

1.计算机内存中负数会以补码的方式存储,补码是负数二进制码的除符号位,按位取反,再加1

 例:1100 1101 0001 0101内存中数据,代表的数是

     先减1,再取反,得到负数的二进制码,

     1011 0010 1110 1011,化成十进制是-13035

2. 指针变量加一的理解;

  指针变量加一,指针会指向下一个变量空间,注意的是指针所指空间会增加指类空间的字节个数。

3.int ar[10];

{&ar[0]取第一个变量地址,首地址;ar数组名代表整个数组,它的值是数组空间首地址;&ar取数组ar地址,既是首地址。},这三种情况的值是相同的,都是数组第一个空间地址,但注意代表的意义不同;

4.用数组定义(存放)的字符串可以修改,而指针定义的不可以修改。

5.大小端问题即是数据再内存中保存时,数据的高位保存在内存地址的大地址还是小地址的问题;

 大小端和小大端其实都可以实现,或者被运用于计算机硬件制造中;

大多运用的时大小端,即数据高位保存在内存地址小的一端,如windows;

6.复杂指针的理解;

指针数组,数组指针,指针函数,函数指针;

Int  (*p)[10]   P的类型是int (*)[10]即数组指针;

              P指向的类型int ()[10]即数组;

Int *(*(*fun)(int *))[10] 指针数组的函数指针;

Int (*(*func)[5])(int *)函数指针的指针数组;

Int (*(*func)(int *))[5];数组指针的函数指针;

Int *(*func(int *))[5];指针数组的函数;

(*((void(*p)()0))();0转换成函数指针,指向的函数。(函数加参数括号中)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值