#include <stdio.h>
int main()
{
/*********************************************
*
* 指针和数组:
* 定义数组:数组名就是数组第一个元素的地址
* int ages[5];
* int *p;
* p = ages;
* 访问数组元素的方法:
* 1、数组名[下标] ages[i]
* 2、指针变量名[下标] p[i]
* 3、*(p + i)
*
* 指针变量+1,地址值究竟加多少,取决于指针的类型
* int * 4
* char * 1
* double * 8
*
**********************************************/
int arr[] = {,,,,};
//指针变量此时指向的是数组的首元素
int *p = arr;
printf("数组名[下标]访问数组元素:\n");
for (int i=; i<; i++)
{
printf("arr[%d] = %d\n", i, arr[i]);
}
printf("指针变量名[下标]访问数组元素:\n");
for (int i=; i<; i++)
{
printf("arr[%d] = %d\n", i, p[i]);
}
printf("*(p + i)访问数组元素:\n");
for (int i=; i<; i++)
{
printf("arr[%d] = %d\n", i, *(p + i));
} printf("指针变量+1,地址值究竟加多少,取决于指针的类型:\n"); int c = ;
float d = 11.0f;
double e = 12.0;
char f = 'A';
int *pi = &c;
float *pf = &d;
double *pe = &e;
char *pch = &f;
printf("int类型的指针加1的地址:\n");
printf(" int类型当前地址是:%p\n",&c);
printf(" int类型加1后地址是:%p\n",pi + ); printf("float类型的指针加1的地址:\n");
printf(" float类型当前地址是:%p\n",&d);
printf(" float类型加1后地址是:%p\n",pf + ); printf("double类型的指针加1的地址:\n");
printf(" double类型当前地址是:%p\n",&e);
printf(" double类型加1后地址是:%p\n",pe + ); printf("char类型的指针加1的地址:\n");
printf(" char类型当前地址是:%p\n",&f);
printf(" char类型加1后地址是:%p\n",pch + ); return ;
}
数组名[下标]访问数组元素:
arr[] =
arr[] =
arr[] =
arr[] =
arr[] =
指针变量名[下标]访问数组元素:
arr[] =
arr[] =
arr[] =
arr[] =
arr[] =
*(p + i)访问数组元素:
arr[] =
arr[] =
arr[] =
arr[] =
arr[] =
指针变量+,地址值究竟加多少,取决于指针的类型:
int类型的指针加1的地址:
int类型当前地址是:0022feb8
int类型加1后地址是:0022febc
float类型的指针加1的地址:
float类型当前地址是:0022feb4
float类型加1后地址是:0022feb8
double类型的指针加1的地址:
double类型当前地址是:0022fea8
double类型加1后地址是:0022feb0
char类型的指针加1的地址:
char类型当前地址是:0022fea7
char类型加1后地址是:0022fea8

C语言指针和数组的更多相关文章

  1. C语言指针和数组知识总结(上)

    C语言指针和数组知识总结(上) 一.指针的基础 1.C语言中,变量的值能够通过指针来改变,打印指针的语句符号可以是:  %08x 2.指针的本质 指针的本质就是变量,那么既然是变量,那么一定会分配地址 ...

  2. C语言指针与数组

    C语言指针与数组 数组的下标应该从0还是1开始? 我提议的妥协方案是0.5,可惜他们未予认真考虑便一口回绝    -- Stan Kelly-Bootle   1. 数组并非指针 为什么很多人会认为指 ...

  3. C语言指针与数组的定义与声明易错分析

    部分摘自<C语言深度解剖> 1.定义为数组,声明为指针 在文件1中定义: char a[100]; 在文件2中声明: extern char *a; //这样是错误的 这里的extern告 ...

  4. 11-C语言指针&一维数组&字符串

    一.用指针遍历数组元素 1.最普通的遍历方式是用数组下标来遍历元素 1 // 定义一个int类型的数组 2 int a[4] = {1, 2, 3, 4}; 3 4 int i; 5 for (i = ...

  5. c语言指针,数组

    指针:说简单点就是一个地址.例如int *p,p是个变量,里面放的是地址0x0000,同理,每一个指针,不管什么类型,都是地址,也就是空间都是4个字节(32位机). 以此类推,指针也有指向它的指针in ...

  6. c语言 指针与数组

    关键概念: 1.多个不同类型的指针可以对应同一个地址: 2.(&p)则是这样一种运算,返回一个指针,该指针的值是当时声明p 时开辟的地址,指针的类型是p的类型对应的指针类型: 3.(*p)操作 ...

  7. C语言指针和数组知识总结(下)

    一.数组指针: 数组指针就是一个指针,只不过它指向的是一个数组.可以通过如下方式来定义 typedef int Array[5]; //数组类型 Array* m;      //数组定义 还有一种更 ...

  8. C语言核心之数组和指针详解

    指针 相信大家对下面的代码不陌生: int i=2; int *p; p=&i;这是最简单的指针应用,也是最基本的用法.再来熟悉一下什么是指针:首先指针是一个变量,它保存的并不是平常的数据,而 ...

  9. 指针与数组的区别 —— 《C语言深度剖析》读书心得

    原书很多已经写的很清楚很精炼了,我也无谓做无意义的搬运,仅把一些基础和一些我自己以前容易搞混的地方写一下. 1. 意义: 指针: 指针也是一种类型,长度为4字节,其存放的内容只能是一个地址(4字节). ...

随机推荐

  1. Error configuring application listener of class org.springframework.web.context.

    1.java.lang.NoClassDefFoundError: org/objectweb/asm/ClassVisitor 缺少asm-3.3.jar 2.java.lang.NoClassDe ...

  2. Python菜鸟之传参

    Python菜鸟之传参 : 看上面enroll( )函数的调用传参 enroll("twiggy","M",city="上海", age=2 ...

  3. centos6系列更换阿里yum源

    1.首先备份原来的cent os官方yum源 cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak 2. ...

  4. 如何取消IDEA的自动删除行尾空格?

    使用IDEA,添加注释的时候敲空格,总是会把行尾空格删除导致代码跑到注释行,很不爽~~ 取消这个不爽的功能:File--Settings--Editor--General--Other--Strip ...

  5. 第一章 Xshell5评估期已过问题

    您的Xshell评估期已过.请访问我们的在线商店购买Xshe许可证.产品密钥将通过电子邮件发送给您. 解决方法 一.进入下载网站 https://www.netsarang.com/zh/thank- ...

  6. Typora 精美而强大的Markdown编辑器 转

    Typora 精美而强大的Markdown编辑器 Markdown编辑器千千万,可是有颜值.功能强并且免费的,就没有几个了.之前一直在用Mou,分屏预览模式方便得很,是一个非常好的选择.不过这篇可不是 ...

  7. javac无效问题解决

    首先去下载JDK的最新版本,目前应该是1.7,具体下载地址可以百度去搜索下载 步骤阅读 2 下载时候要注意自己系统的版本,JDK分32位和64位版,根据自己系统版本下载. 步骤阅读 3 下载完后安装, ...

  8. node js实战:带数据库,加密的注册登录表单

    demo 注册效果: 登陆效果:        数据库截图: 数据库操作 db.js //这个模块里面封装了所有对数据库的常用操作 var MongoClient = require('mongodb ...

  9. appium1.7的使用

    1.安装成功后,双击图标启动appium 2.输入host:0.0.0.0 ,port:4723,点击start server,启动appium,如下图所示,启动成功 3.点击搜索图标,打开定位工具I ...

  10. vue搭建vue-cli脚手架项目

    一.Node.js 1.介绍 Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine.Node.js是一个基于Ch ...