栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C指针原理(17)-C指针基础

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C指针原理(17)-C指针基础


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

#include

int main(void){

        int i;

        char x[20]="0123456789ABCDEFGHIJ";

        for (i=0;i<20;i++){

        printf("x[%d]:%cn",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:%cn",p_x,*p_x);

        }

        return 1;

}

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

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

myhaspl@myhaspl:~ % make clean

rm mytest

myhaspl@myhaspl:~ % make

cc test3.c -o mytest

myhaspl@myhaspl:~ % ./mytest

...........

...........

4294957776:0

4294957777:1

4294957778:2

4294957779:3

4294957780:4

4294957781:5

4294957782:6

4294957783:7

4294957784:8

4294957785:9

4294957786:A

4294957787:B

4294957788:C

4294957789:D

4294957790:E

4294957791:F

4294957792:G

4294957793:H

4294957794:I

4294957795:J

myhaspl@myhaspl:~ % 

©著作权归作者所有:来自51CTO博客作者myhaspl的原创作品,如需转载,请注明出处,否则将追究法律责任


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/232750.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号