#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. python中使用动态库

    首先,创建一个简单的动态库编程生成dll.so:   gcc -fPIC -O2 -shared dll.c -o dll.soC文件:dll.c  如下 #include <stdio.h&g ...

  2. es+mongodb 整合

    之前公司项目的数据都是从mysql查询,后面需求变更:同时技术上相应的也要改变策略,决定将mongodb和mysql的数据通过es建立索引来查询: 对于还没有接触或者真正了解es的可以先看一下相关Lu ...

  3. 纯Delphi 原生写的 上传到七牛的功能

    上传文件到七牛, 支持分片分段上传, 适用于Delphi XE, 10等新版本 分两个函数: uploadToQiniu 和 directUploadToQiniu uploadToQiniu 这个函 ...

  4. 自定义input[type="radio"]

    对于表单,input[type="radio"] 的样式总是不那么友好,在不同的浏览器中表现不一. 对单选按钮自定义样式,我们以前一直用的脚本来实现,不过现在可以使用新的伪类 :c ...

  5. mac 卸载编辑器卸不干净

    Configuration ~/Library/Preferences/ Caches ~/Library/Caches/ Plugins ~/Library/Application Support/ ...

  6. CSS3中的transform转换属性

    属性 transition-property 定义对象中参与过度的属性 transition-delay 延迟 transition-duration 持续时间 transition-timing-f ...

  7. 面试经典:链表中倒数第k个结点?如何从大量数据中找出高频词?

    记录两道面试题: 题目描述: 输入一个链表,输出该链表中倒数第k个结点.(单向链表) 拿到这个问题的时候自然而然会想到让链表从末尾开始next   K-1 次不就是第K-1个节点了么,但是必须要注意一 ...

  8. testprns printername [printcapname]

    描述 此程序是samba套件的一部分. testprns是个非常简单的测试程序,用于检查smbd作为服务提供的打印机名是否合法. 在这里“Valid”的意思就是“在printcap中可以找到该打印机” ...

  9. testparm - 检查smb.conf配置文件的内部正确性

    总览 testparm [-s] [-h] [-L servername] [configfilename] [hostname hostIP] 描述 此程序是samba套件的一部分. testpar ...

  10. windows系统exe文件图标变成了白色无图标

    转载:https://blog.csdn.net/whatday/article/details/52658412   在命令提示符下输入下列命令即可恢复.   按键 “WIN+R” 输入即可cmd ...