关闭

C语言的指针(基础篇章)

标签: c语言
182人阅读 评论(0) 收藏 举报
分类:

一、内存与指针

**内存是以字节为单位进行编址的,内存中的每个字节都对应一个地址,通过地址才能找到每个字节。而我们常说的变量,变量的内存地址就是变量的指针。切记,指针是有类型地址常量。
**

  内存的快捷方式——指针

定义指针变量的一般形式:

 type *  variable  (指向数据类型 *指针变量名)

二、指针变量

  • 重点就是区分一下下面的本质区别:
    在int *var中; var、&var、*var 者的区别?
    var——指针变量
    &var——对指针变量取地址
    *var——取指针变量地址所指向地址的内容
  • 给个例子:输入两个整数,存储在变量a和b中,当a小于b时,使用指针交换a和b并输出。
    这时大脑要有逻辑思想(以图形的形式吧):

三、指针的运算

指针运算的本质是指针中存储的地址的运算。
- eg:p+n、p-n、p++、p–、++p和–p等,其中n是整数。
解释:将指针p加上或者减去一个整数n,表示p向地址增加或减小的方向移动n个元素单元,从而得到一个新的地址,使能访问新地址中的数据。每个数据单元的字节数取决于指针的数据类型。
#include

四、指针的一些基础小结

  • 指针变量的初始化问题小结:
    指针变量在使用前必须要初始化,把一个具体的地址赋给它,否则引用时会有副作用,如果不指向任何数据就赋“空值”NULL。
  • 变量与指针变量:
    变量的实质是代表“内存中的某个存储单元”。指针变量是用来存储地址,而一般变量是存储数值的。指针变量可指向任何一种数据类型,但不管它指向的数据占用了多少字节,一个指针变量占用4个字节。
  • 数组名与指针变量:
    数组名是一个常量,不允许重新赋值。
    指针变量是一个变量,可以重新赋值。

来自本人的简书(链接):
http://www.jianshu.com/writer#/notebooks/4124910/notes/4155638

0
0
查看评论

C语言「指针、链表」入门心得

小白的日常学习——指针、链表。学的很浅,欢迎吐槽。
  • Zhangyucha0
  • Zhangyucha0
  • 2016-05-10 15:52
  • 728

c语言基本类型和指针

//导入标准函数库(类似于java的导包) #include //导入标准函数库(system、sizeof等等......) #include //windows系统的api #include /* void main(){ //输出函数 printf("hello worl...
  • chuyouyinghe
  • chuyouyinghe
  • 2016-10-13 10:37
  • 508

C语言-------------指针小程序的练习

1、猜数:首先生成一个介于1-100之间的整数,从键盘不断输入数值直到该数值与生成的那个数相符为止,并打印出猜数的次数#include #include void creat(int *secretp) { srand(time(NULL)); *secretp = rand() % ...
  • zyx6a
  • zyx6a
  • 2013-04-03 21:34
  • 1183

C语言基础知识之(十三):指针、指针和数组

一、指针的声明和定义 1、访问数据一般有两种方式:直接、间接 直接:通过变量访问数据, 如:通过变量a访问内存单元。 int a = 10; printf("%d\n",a); 间接:通过内存单元的地址访问数据。取地址符&,获取变量a所在的地址并用%p打印。...
  • leleyuan1130
  • leleyuan1130
  • 2015-08-30 20:12
  • 244

c语言函数指针学习心得

1.指针函数的定义     顾名思义,指针函数即返回指针的函数。其一般定义形式如下:       类型名*函数名(函数参数表列);     其中,后缀运算...
  • huang_jinjin
  • huang_jinjin
  • 2012-03-20 20:27
  • 4195

C语言指针题集

1. 若有说明:int a=2, *p=&a, *q=p;,则以下非法的赋值语句是()。 A. p=q;           B. *p=*q;    ...
  • lianghui0811
  • lianghui0811
  • 2015-09-25 17:03
  • 1100

你需要知道关于C语言指针的一切

Everything you need to know about pointers in C 你需要知道关于C语言指针的一切 指针的定义 指针是内存地址。 (嗯,简短的段落。) 开始 假设你声明一个名为foo的变量。 int foo; ...
  • sergeycao
  • sergeycao
  • 2016-12-15 13:01
  • 3344

C语言系列(四)指针概念的理解

转载请标明出处: http://blog.csdn.net/u011974987/article/details/52270018; 本文出自:【XuHao的博客】 前言最近真的是忙的不可开交,公司一直给安排任务,连学习和写笔记的时间都没有了,落下好几次课的笔记都没有写,所以我抽空把目前的进...
  • u011974987
  • u011974987
  • 2016-08-22 14:26
  • 4326

12.3 C语言指针的简单示例

前边我们提到了,指针的意义往往在小程序里是体现不出来的,对于简单程序来说,有时候用了指针,反而可能比没用指针还麻烦,但是为了让大家巩固一下指针的用法,我还是写了个使用指针的流水灯程序,目的是让大家从简单程序开始了解指针,当程序复杂的时候不至于手足无措。 #include sbit ADDR...
  • softn
  • softn
  • 2016-07-07 05:55
  • 499

C语言复习 -- 多重指针

多重指针指的是在一条语句中有2个或以上的*。   代码如下: #include int main() {  int i[] = {10, 20, 30, 40, 50};  int *pa[] = {i, i+2, i+1, i+4, i+3}; ...
  • edwzhang
  • edwzhang
  • 2012-02-01 13:38
  • 2494
    个人资料
    • 访问:3639次
    • 积分:195
    • 等级:
    • 排名:千里之外
    • 原创:17篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档