C指针原理(17)-C指针基础
指针本身也是一种变量,支持常用的运算。比如加、减
#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指针基础相关推荐
- C指针原理(15)-C指针基础
简单C指针 指向整数的指针,以及指针的指针 myhaspl@myhaspl:~ % vim test1.c#include <stdio.h>int main(void){int x;x= ...
- C指针原理(16)-C指针基础
2.指向数组的指针 #include <stdio.h>int main(void){int i;char x[20]="0123456789ABCDEFGHIJ";f ...
- C指针原理(44)-汇编基础
AT&T汇编语语言中的数据段与数据类型 .data段定义的数据元素保留在内存中能够被指令读取和写入; .rodata段定义的数据元素只读: .data与.rodata段的数据类型: .asci ...
- C指针原理(24)-C指针基础
取自netbsd中的源码,检查运算溢出,用C语言实现,方法很精妙 /* hide bintime for _STANDALONE because this header is used for hpc ...
- C指针原理(13)-C指针基础
规范路径格式,win32(windows环境下,路径之间的各个目录分隔将"\"改为"/",用"/"分隔,这样的好处是在UNIX和WINDOW ...
- C指针原理(14)-C指针基础
make与makefile make是一个工具程序(Utility software),经由读取叫做"makefile"的文件,自动化建构软件.它是一种转化文件形式的工具,转换的目 ...
- C指针原理(12)-C指针基础
tcctok.h定义了C语言的词法分析的基本元素,主要定义了关键字. / keywords /DEF(TOK_INT, "int")DEF(TOK_VOID, "void ...
- C指针原理(19)-C指针基础
不用下标,直接引用多维数组名时,多维数组名代表一个指针变量,这个指针变量指向是最后一维长度的数组的指针,假设x是一个2*5的数组,定义为: int x[2][5] 直接引用x,不使用任何下标,此时x代 ...
- C指针原理(43)-helloworld的C程序汇编剖析
一.汇编基础 1.指令码与数据处理 当计算机处理应用程序运行指令码时,数据指针指示处理器如何在内存的数据区域寻找要处理的数据,这块区域也称为堆栈,指令码放在另外的指令区,此外,还有指令指针机制,当处理 ...
最新文章
- rfc6455 WebSockets
- php 操作 redis 常用命令
- SecureCRT报错ImportError: No module named itertools(解决方案无法复现)
- python函数调用的一般形式_Python的函数的定义与使用示例
- python构建简单神经网络_Python构建一个简单的神经网络,Pytorch,搭建
- git使用笔记(一)入门
- 'htmlentities(): charset `utf8' not supported, assuming utf-8'
- 【C/C++】使用PDFLIB创建一个带中文的pdf文件
- 刚入职的阿里巴巴,我是怎么学习算法的
- java调用快捷支付接口_Android客户端集成支付宝快捷支付
- 聊天程序设计实验报告——java
- 用hook android 微信,【第一篇】【安卓微信】HOOK微信发消息,当HOOK遇上HOOK。
- 基于Rook+Ceph的云原生存储架构剖析
- ThinkPad机型BIOS开启VT虚拟化技术
- JAVA5 8 9章复习
- 前摇篮网CEO高翔去世:生前脑干出血没挺住 年55岁
- 京东抢购工具 监控工具 秒杀工具
- C语言求组合数C35,巧用组合数的性质求和
- selenium切换iframe框架案例——翻页爬取网易云音乐歌单作者和名称
- CentOS7没有图形化界面,怎么安装图形化界面
热门文章
- BZOJ 1211 树的计数(purfer序列)
- 利用grep命令查找文件内容
- windows下开发准备
- 为outlook增加“邮件召回”功能
- Deployer 的使用
- 【图论】【二叉树】以先序字符串方式建立二叉树
- 函数mod(a,m)
- poj 2528 Mayor's posters (线段树+离散化)
- “注册编辑已被管理员停用”之解决办法
- 鸿蒙 电视 安卓,华为鸿蒙2.0、EMUI 11齐发 打通手机、电视、PC全平台