指针本身也是一种变量,支持常用的运算。比如加、减

#include <stdio.h>int main(void){int i;char x[20]="0123456789ABCDEFGHIJ";for (i=0;i<20;i++){printf("x[%d]:%c\n",i,x[i]);}char *p_x;for (p_x=&x[0];p_x<&x[20];p_x++){printf("%c",*p_x);}printf ("\n");for (p_x=x;p_x<(x+20);p_x++){printf("%u:%c\n",p_x,*p_x);}return 1;}

在后面增加的内容p_x直接指向了x,然后通过x++来移动指针,终止for循环的条件是p_x<(x+20),x+20指向了数组的结尾处后面的内存位置,这个内存位置永远不会被访问,所以这样引用是安全的。

最后这段代码将每个字符的内存地址以及字符本身输出.

myhaspl@myhaspl:~ % make cleanrm mytestmyhaspl@myhaspl:~ % makecc test3.c -o mytestmyhaspl@myhaspl:~ % ./mytest......................4294957776:04294957777:14294957778:24294957779:34294957780:44294957781:54294957782:64294957783:74294957784:84294957785:94294957786:A4294957787:B4294957788:C4294957789:D4294957790:E4294957791:F4294957792:G4294957793:H4294957794:I4294957795:Jmyhaspl@myhaspl:~ %

C指针原理(17)-C指针基础相关推荐

  1. C指针原理(15)-C指针基础

    简单C指针 指向整数的指针,以及指针的指针 myhaspl@myhaspl:~ % vim test1.c#include <stdio.h>int main(void){int x;x= ...

  2. C指针原理(16)-C指针基础

    2.指向数组的指针 #include <stdio.h>int main(void){int i;char x[20]="0123456789ABCDEFGHIJ";f ...

  3. C指针原理(44)-汇编基础

    AT&T汇编语语言中的数据段与数据类型 .data段定义的数据元素保留在内存中能够被指令读取和写入; .rodata段定义的数据元素只读: .data与.rodata段的数据类型: .asci ...

  4. C指针原理(24)-C指针基础

    取自netbsd中的源码,检查运算溢出,用C语言实现,方法很精妙 /* hide bintime for _STANDALONE because this header is used for hpc ...

  5. C指针原理(13)-C指针基础

    规范路径格式,win32(windows环境下,路径之间的各个目录分隔将"\"改为"/",用"/"分隔,这样的好处是在UNIX和WINDOW ...

  6. C指针原理(14)-C指针基础

    make与makefile make是一个工具程序(Utility software),经由读取叫做"makefile"的文件,自动化建构软件.它是一种转化文件形式的工具,转换的目 ...

  7. C指针原理(12)-C指针基础

    tcctok.h定义了C语言的词法分析的基本元素,主要定义了关键字. / keywords /DEF(TOK_INT, "int")DEF(TOK_VOID, "void ...

  8. C指针原理(19)-C指针基础

    不用下标,直接引用多维数组名时,多维数组名代表一个指针变量,这个指针变量指向是最后一维长度的数组的指针,假设x是一个2*5的数组,定义为: int x[2][5] 直接引用x,不使用任何下标,此时x代 ...

  9. C指针原理(43)-helloworld的C程序汇编剖析

    一.汇编基础 1.指令码与数据处理 当计算机处理应用程序运行指令码时,数据指针指示处理器如何在内存的数据区域寻找要处理的数据,这块区域也称为堆栈,指令码放在另外的指令区,此外,还有指令指针机制,当处理 ...

最新文章

  1. rfc6455 WebSockets
  2. php 操作 redis 常用命令
  3. SecureCRT报错ImportError: No module named itertools(解决方案无法复现)
  4. python函数调用的一般形式_Python的函数的定义与使用示例
  5. python构建简单神经网络_Python构建一个简单的神经网络,Pytorch,搭建
  6. git使用笔记(一)入门
  7. 'htmlentities(): charset `utf8' not supported, assuming utf-8'
  8. 【C/C++】使用PDFLIB创建一个带中文的pdf文件
  9. 刚入职的阿里巴巴,我是怎么学习算法的
  10. java调用快捷支付接口_Android客户端集成支付宝快捷支付
  11. 聊天程序设计实验报告——java
  12. 用hook android 微信,【第一篇】【安卓微信】HOOK微信发消息,当HOOK遇上HOOK。
  13. 基于Rook+Ceph的云原生存储架构剖析
  14. ThinkPad机型BIOS开启VT虚拟化技术
  15. JAVA5 8 9章复习
  16. 前摇篮网CEO高翔去世:生前脑干出血没挺住 年55岁
  17. 京东抢购工具 监控工具 秒杀工具
  18. C语言求组合数C35,巧用组合数的性质求和
  19. selenium切换iframe框架案例——翻页爬取网易云音乐歌单作者和名称
  20. CentOS7没有图形化界面,怎么安装图形化界面

热门文章

  1. BZOJ 1211 树的计数(purfer序列)
  2. 利用grep命令查找文件内容
  3. windows下开发准备
  4. 为outlook增加“邮件召回”功能
  5. Deployer 的使用
  6. 【图论】【二叉树】以先序字符串方式建立二叉树
  7. 函数mod(a,m)
  8. poj 2528 Mayor's posters (线段树+离散化)
  9. “注册编辑已被管理员停用”之解决办法
  10. 鸿蒙 电视 安卓,华为鸿蒙2.0、EMUI 11齐发 打通手机、电视、PC全平台