指针:就是地址.
&   取地址运算符
%p   打印地址占位符
int a=0;
printf("%p ",&a);   
指针变量:用来存放地址的变量
定义: 数据类型 * 变量名 = 初始值
int a=10;
int *p=NULL;
p=&a;    //把a的地址赋值给指针变量p,也就是说p指向了a的地址
间接访问:通过指针(地址)实现访问.
* 取值运算符
*p 取到指针变量的指向的内存中的数据

指针变量所占字节,与类型修饰符无关,只与操作系统有关.
在32位操作系统之上,指针变量所占字节是4
在64位操作系统之上,指针变量所占字节是8

修饰指针变量的数据类型的作用
决定*取多少字节的数据.

定义指针的类型一定要和指向的数据的类型一致,这样才能保证数据的完整性.

指针在数组中的应用
数组名就是数组元素的首地址
数组名 和 指向数组首地址的指针变量的区别:
1.数组名,常量地址不能被改变,但是,指针变量可以改变.
2.数组名,用sizeof()计算得到的结果是整个数组所占的字节.
而用sizeof()计算指向数组首地址的指针变量的大小是4或者8.

指针初级应用
//实现两值的确实交换
int a=1;b=2;
int *p=NULL,*q=NULL;
p=&a,q=&b;
printf("%d %d \n",a,b);
swap(p,q);   //传入的实参是指针变量p,q,也就是传入的是&a,&b(a,b的地址)
printf("%d %d\n",a,b);

void  swap(){
int temp=0;
temp=*p;
*p=*q;
*q=temp;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

C语言基础:初级指针 分类: iOS学习 c语言基础 2015-06-10 21:50 30人阅读 评论(0) 收藏的更多相关文章

  1. Python调用C可执行程序(subprocess) 分类: python 服务器搭建 C/C++ shell 2015-04-13 21:03 87人阅读 评论(0) 收藏

    从Python 2.4开始,Python引入subprocess模块来管理子进程,以取代一些旧模块的方法:如 os.system.os.spawn.os.popen.popen2.commands. ...

  2. opnet安装及安装中出现问题的解决办法 分类: opnet 2014-04-06 21:50 397人阅读 评论(0) 收藏

    我使用的opnet14.5  win7 64位系统的http://pan.baidu.com/s/1qWyfxnu,电脑先刷了win7 64位原版系统. 选择了VS2013+opnet14.5的安装方 ...

  3. C语言基础:指针初级(补充) 分类: iOS学习 c语言基础 2015-06-10 21:54 19人阅读 评论(0) 收藏

    结构体指针:指向结构体指针的变量的指针. 结构体指针指向结构体第一个成员变量的首地址 ->:   指向操作符 定义的指针变量必须指向结构体的首地址,才可以使用  ->  访问结构体成员变量 ...

  4. C语言基础:函数指针 分类: iOS学习 c语言基础 2015-06-10 21:55 15人阅读 评论(0) 收藏

    函数指针:指向函数的指针变量. 函数名相当于首地址. 函数指针定义:返回值类型  (*函数指针变量名)(参数类型1,参数类型2,....)=初始值 函数指针类型:返回值类型  (*)(参数类型1,参数 ...

  5. C语言基础:内存 分类: iOS学习 c语言基础 2015-06-10 21:59 23人阅读 评论(0) 收藏

    全局变量:定义在函数之外.(不安全)   局部变量;定义在函数之内. 内存的划分:1栈区   2堆区  3静态区(全局区) 4常量区 5代码区 栈区..静态区.常量区.代码区的数据都是由系统分配和释放 ...

  6. C语言基础:函数(Function) 分类: iOS学习 c语言基础 2015-06-10 21:48 14人阅读 评论(0) 收藏

    函数:一段具有某些特定功能的代码段. 使用函数的严格规定: 1.函数声明 2.函数定义 3.函数调用 函数声明:告知系统编译器该系统的函数名,函数参数,参数类型,参数个数,参数顺序等等,以便函数调用时 ...

  7. c语言基础:数据类型 分类: iOS学习 c语言基础 2015-06-10 21:43 9人阅读 评论(0) 收藏

    C语言基本数据类型大体上分为: 整型 和 浮点型   字节: 计算机中最小的储存单位     1 Byte = 8 bit 整型:         int     4                  ...

  8. C语言基础:进制转换,变量,常量,表达式,基本数据类型,输出函数,输入函数,运算符. 分类: iOS学习 c语言基础 2015-06-10 21:39 25人阅读 评论(0) 收藏

    二进制:以0b开头,只有0和1两种数字.如0101 十进制:0~9十个数字表示.如25 十六进制:以0~9,A~F表示,以0X开头.如0X2B 十进制转换为X进制:连除倒取余 X进制转换为十进制:按权 ...

  9. C语言基础:数组 分类: iOS学习 c语言基础 2015-06-10 21:40 7人阅读 评论(0) 收藏

    数组:是由一组具有相同数据类型的数据组合而来. 数组定义:元素类型修饰符 数组名[数组个数]={元素1,元素2....};  int arr[ 2 ]={1,2};    //正确 int arr[ ...

随机推荐

  1. Intellij IDEA 使用spring-boot-devtools无效解决办法一

    Intellij IDEA 使用spring-boot-devtools maven依赖 ``` <dependency> <groupId>org.springframewo ...

  2. python pandas demo

    1. import pandas as pd web_stats = {,,,,,], ,,,,,], ,,,,,]} df = pd.DataFrame(web_stats) print(df.he ...

  3. C++宏定义不受命名空间的约束

    // xxx.h namespace A { #define xxx() xxxxx } // 在其他文件中,引入xxx.h文件,使用宏定义时,不需要加命名空间 // yyy.cpp #include ...

  4. js中如何访问对象和数组

    js中如何访问对象和数组 一.总结 一句话总结:js访问对象点和中括号,访问数组的话就是中括号 对象 . [] 数组 [] 1.js访问对象的两种方式? . [] 可以使用下面两种方式访问对象的属性和 ...

  5. grub 启动错误 "file not found"

    刚安装ubuntu 14.4 竟然出现这么尴尬的事,ubuntu 行不行? 幸好还是能从u盘启动后,转到硬盘. 然后在网上找到了解决方法. http://askubuntu.com/questions ...

  6. 如何将新项目添加到github仓库中?只需简单几步~即可实现

    问题描述:新建了一个项目,如何将其设置为git项目?如何关联到github上的仓库? 只需简单几步,但前提是需要已经安装好了git,并且有github账户 本文使用IntelliJ IDEA 其他编辑 ...

  7. WPF中为窗体设置背景图片

    在WPF应用程式中,我们往往想为一个窗体设置一个中意的背景图,而不是单独的为这个Background设置成某种颜色或渐变颜色的背景. 在WPF 利用Expression Blend工具如何达到这种效果 ...

  8. 37mysql 表操作

    创建表 #语法: create table 表名( 字段名1 类型[(宽度) 约束条件], 字段名2 类型[(宽度) 约束条件], 字段名3 类型[(宽度) 约束条件] ); #注意: 1. 在同一张 ...

  9. SQL 函数 DateDiff()

    DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]]) 描述 返回两个日期之间的时间间隔. 语法 DateDiff( ...

  10. Excel 版本对应

    (1) 1985年:Excel 1.0 (2) 1993年:Excel 5.0——Office 4.2 (3) 1995年:Excel 7.0(Excel 95)——Office 95 (4) 199 ...