征服C指针学习笔记

原创 2013年12月03日 22:44:34

1.对变量使用&运算符,可以取得该变量的地址。这个地址称为指向该变量的指针。

   指针变量hoge_p保存了指向其他变量的地址的情况下,可以说“hoge_p指向hoge”。

  对指针变量运用*运算符,就等于它指向的变量。如果hoge_p指向hoge,*hoge_p就等于hoge。

2.指针之所以需要定义类型是因为需要利用指针类型来从对应的地址中取出数据。

3.对指针加N,指针前进“当前指针指向的数据类型的长度*N”。

4.空指针是一个特殊的指针值。空指针是指确保没有指向任何一个对象的指针。

   空指针确保它和任何非空指针进行比较都不会相等,因此经常作为函数发生异常时的一个返回值使用。

   通常使用宏定义NULL来便是空指针常量值。#define NULL  0

5. p[i]是*(p+i)的简便写法。p[i]可以写成i[p],但是别写成这样。

    *p++是指p先加1再与*结合。

6. malloc()主要有两种使用方式,①动态分配结构体②分配可变长数组。

    ANSI C以前的C,因为没有void*这样的类型,所以malloc返回值的类型就被简单的定义成char*。char*是不能被赋给指向其他类型的     指针变量的,因此在使用malloc()的时候,必须要像下面这样将返回值进行强制转型:

book_data_p=(BookData*)malloc(sizeof(BookData));

7.如何解读C的声明:

❶首先着眼于标识符(变量名或者函数名)。

❷从距离标识符最近的地方开始,依照优先顺序解释派生类型(指针、数组和函数)。优先顺序说明如下,

①用于整理说明内容的括弧

②用于表示数组的[ ],用于表示函数的( )

③用于表示指针的*

解释完派生类型,使用“of”、"to"、"returning"将它们连接起来。

❹最后,追加数据类型修饰符(在左边,int、double等)。

比如  int (*func_p)(double);   

解读:func_p is pointer to function(double) returning int.

中文:func_p是指向返回int的函数(参数为double)的指针。

相关文章推荐

数据结构学习笔记之C指针基础

之所以称为C指针基础,因为这些问题我们是应该早就
  • PeeNut
  • PeeNut
  • 2014年05月07日 12:03
  • 529

【c和指针学习笔记】深入理解字符串常量

思考下列表达式代表什么意思??? 1:“zyh_helen”+ 1 2: *“zyh_helen” 3:“zyh_helen”[2]。 如果你觉得上述表达式不了解,甚至认为他们看上去像垃圾的话...

《C与指针》学习笔记

start from P158  8.2.4 指向数组的指针  int vector[10], *vp = vector;        //正确,vector和vp具有相同类型:指向整型的指针。...

C和指针 学习笔记——第三章 数据

笔记内容: 这不是一个教案,它是一个对本书中笔者认为重要内容的摘抄与总结。 笔记目的:通过写博客来加深自己对书中知识的记忆和理解。 希望通过博客笔记来,来暴露自己或者大家共同存在的问题(PS:强烈...

[学习笔记]C和C++中指针的基础知识点(二)

指针和数组: 指针和数组基本等价的原因在于指针算数和C++内部处理数组的方式。C++中将数组名解释为地址,多数情况下数组名被解释为数组的第一个元素的地址。 在C++中,我们在将指针变量加1后,其增...

C指针学习笔记

C语言和Java各有各的优点,C语言可以同

学习笔记:指针之C

因为某些原因来好好的将C重新梳理一遍,过去一年也是个渣,好在还能重新来过。将C和指针中指针一节学习了三四次,再将后面的习题做了一做。现在再好好回顾一下。至于对错就不过多评价。 指针的确是C的特点之一...
  • Dawnfox
  • Dawnfox
  • 2014年10月29日 17:24
  • 533

C/C++学习笔记19:指针运算与二维数组

指针的运算经常是与数组结合在一起的,在上节中也提到了数组指针和指针数组中涉及到一些guanyu...

深入理解C指针学习笔记(四)

1.3指针操作符指针常用的操作符如下表: 1.31指针的算数运算数据指针可以执行以下几种算术运算: 给指针加上整数 从指针减去整数 两个指针相减 比较两个指针 1.给指针加上整数给指针加上一个整数实...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:征服C指针学习笔记
举报原因:
原因补充:

(最多只允许输入30个字)