#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. 慎用margin系列1---CSS的margin塌陷(collapse) 问题与对策

      对于以下简单代码: 如果您认为应该是这样的话: 那就错了.结果是这样的: 因为CSS中存在一个margin collapse,即边界塌陷或者说边界重叠.对于上下两个并列的div块而言,上面div的 ...

  2. php &引用符的注意情况

  3. 微信小程序 使用wxParse解析html

    微信小程序 加载 HTML 标签:https://blog.csdn.net/zclengendary/article/details/54312030 微信小程序 使用wxParse解析html:h ...

  4. Java对象引用四个级别(强、软、弱、虚)

    最近,高级Java技术栈微信群中,有一些猿友在讨论JVM中对象的周期问题,有谈到引用的级别,现在为大家做个总结吧,虽然大多数公司并没有意识或者用到这些引用,但了解这些基本概念对熟悉整个垃圾回收机制和面 ...

  5. 使用Emacs来编程

    使用Emacs来编程 */--> code {color: #FF0000} pre.src {background-color: #002b36; color: #839496;} code ...

  6. linux下vnstat查看服务器带宽流量统计

      因为很多vps或者服务器都是限流量的,但是又很多服务商并没有提供详细的流量表,比如每天的流量表,所以肯定有人很想知道自己服务器到底跑了多少流量. vnstat就是一个很好用的服务器流量统计命令.我 ...

  7. Async Clipboard AP

    转自奇舞周刊,个人学习记录,侵权删 编者按:本文作者李松峰,资深技术图书译者,翻译出版过40余部技术及交互设计专著,现任360奇舞团高级前端开发工程师,360前端技术委员会委员.W3C AC代表 如果 ...

  8. kNN算法和决策树

    的整数. 下面看书上给出的实例: from numpy import * import operator def createdataset(): group=array([[1.0,1.1],[1. ...

  9. leetcode-164周赛-1266-访问所有点的最小时间

    题目描述: 自己的解: class Solution: def minTimeToVisitAllPoints(self, points: List[List[int]]) -> int: re ...

  10. PHP FILTER_SANITIZE_URL 过滤器

    定义和用法 FILTER_SANITIZE_URL 过滤器删除字符串中所有非法的 URL 字符. 该过滤器允许所有的字母.数字以及 $-_.+!*'(),{}|\^~[]`">< ...