#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. 简单了解Redis

    redis是什么 redis是一种支持key-value等多种数据结构的存储系统,可用于缓存,事件发布,消息队列等场景,支持多种数据类型 string.hash.list.set.zset.而且基于内 ...

  2. 基于rem的移动端响应式适配方案(详解) 移动端H5页面的设计稿尺寸大小规范

    基于rem的移动端响应式适配方案(详解) : https://www.jb51.net/article/118067.htm 移动端H5页面的设计稿尺寸大小规范 http://www.tuyiyi.c ...

  3. 程序性能优化之APK大小优化(六)上

    阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/474380680 本篇文章将继续从APK瘦身来介绍APK大小优化:文章主要内容从理 ...

  4. Python之元组、列表and 字典

    序列: 元组和字符串都是不可变的哦 你看,数据空间不一样了 元组的话,你可以联想到C里面的结构体变量啊,为了包容不同的数据类型: 也可以这样取值哦: 列表:列表是可修改的哦~ 不然数据大了再另外开辟空 ...

  5. MySQL中的触发器insert、update

    以下为MySQL 触发器insert 的3个示例演示(update类似) delimiter // create trigger InsertUser before insert on user fo ...

  6. linux 下新建文件自动加锁的解决办法

    导致文件夹里面无法保存别的文件 sudo chmod 777 -R 文件或目录

  7. 查看linux防火墙的状态

    如有需要可以加我Q群[308742428]大家一起讨论技术,有偿服务. 后面会不定时为大家更新文章,敬请期待. 喜欢的朋友可以关注下.iptables防火墙1.基本操作 # 查看防火墙状态 servi ...

  8. react使用总结

    1.拿到页面首先需要设计好,每个组件该怎么实现,划分好组件可以减少重复代码,有的时候需要和后端确认才能形成正确的划分 2.页面上的需要展示的数据都是由后端数据而来,所以任何增删改查的数据都要从后端重新 ...

  9. 2018-2-13-安装-aria2

    title author date CreateTime categories 安装 aria2 lindexi 2018-2-13 17:23:3 +0800 2018-2-13 17:23:3 + ...

  10. 转帖 maven(一) maven到底是个啥玩意~

    转载自:https://www.cnblogs.com/whgk/p/7112560.html 我记得在搞懂maven之前看了几次重复的maven的教学视频.不知道是自己悟性太低还是怎么滴,就是搞不清 ...