C指针编程之道(一)- 指针与数组
来源:互联网 发布:金融数据上报客户端 编辑:程序博客网 时间:2024/06/05 18:08
数组的下标表示法和指针表示法
# include <stdio.h>int main() { char title[] = {"C language pointer!"}; //等价于char title[]="C language pointer!"; char *ptitle; /* 这段程序很清楚地表达了数组指针变量指向数组的概念。 数组在内存中是一段连续的内存区域,数组名是数组第一个元素的地址,也就是这段连续内存区域的首地址。 当数组指针变量指向数组时,实际上是指向第一个数组元素,也就是这段连续内存区域的首地址。 */ ptitle = title; //等价于ptitle=&title[0]; printf("title: %s\n", title); //title: C language pointer! printf("ptitle->title: %s\n", ptitle); //ptitle->title: C language pointer! printf("&title=%p\n", &title); //&title=0x7fff5fbff790 printf("ptitle=%p\n", ptitle); //ptitle=0x7fff5fbff790 printf("&title[0]=%p\n", &title[0]); //&title[0]=0x7fff5fbff790 //遍历 while (*ptitle) { printf("%c", *ptitle); ptitle++; } printf("\n"); int a[] = {1,2,3,4,5}; int *p =a; while (*p) { printf("%d", *p); p++; } printf("\n"); //另一种遍历 p = a; for (int i=0; i<sizeof(a)/sizeof(int); i++) { printf("%d", p[i]); //等价于*(p+i) } printf("\n"); return 0;}
指针数组
/*** int: 表示该指针数组的元素(即指针变量)指向int类型的数据* *num: 表示该数组是指针数组,名字为num* [3]: 数组的长度为3*/int *num[3]/*** char: 表示该指针数组的元素(即指针变量)指向字符或字符串的首地址* *name: 表示该数组是指针数组,名字为name* []: 数组的长度初始化成为了3*/char *name[] = {"China", "Beijing", "Haidian"};//name[0] 指向 "China" 的首地址,同理 name[1],name[2]...
字符串与字符[串]指针变量
- 在编程中,字符串是经常用到的操作对象;
- 字符串的处理方式有两种,一种是数组形式,一种是指针形式;
- 数组形式是吧字符串存放在数组当中,具有数组的属性,数组名代表存放字符串的首地址,可以通过下标或指针的方式访问字符串;
- 指针形式是指通过字符指针指向字符串,以此来访问字符串中的字符,而不用定义数组;
- 无论是数组或指针形式,字符串在内存中都是占用一块连续的内存空间。
# include <stdio.h>int main() { char *str = "I love China!"; //str是一个指向char的指针变量,指向该字符串的首字符'I'的地址 printf("%s\n", str); //I love China! printf("%p\n", str); //0x100000f9e /* 运行结果: I 0x100000f92 0x100000f93 l 0x100000f94 o 0x100000f95 v 0x100000f96 e 0x100000f97 0x100000f98 C 0x100000f99 h 0x100000f9a i 0x100000f9b n 0x100000f9c a 0x100000f9d ! 0x100000f9e */ char *p = str; while (*p) { printf("%c %p\n", *p, p); p++; } printf("\n"); return 0;}
0 0
- C指针编程之道(一)- 指针与数组
- C 杂谈之 指针与数组 (一)
- C专家编程--数组与指针(一)数组 指针 访问方式 区别
- C指针编程之道(二)- 指针与函数
- C/C++编程(二)--指针数组与数组指针
- C程序设计语言--指针与数组(一)
- C/C++编程(一)--函数指针与指针函数
- C专家编程 九 什么时候数组与指针相同(一)
- c之指针与数组(1)
- 《C专家编程》读书笔记之 指针与数组
- 学习Linux C编程之数组与指针
- c语言基础之指针与一维数组
- c语言之指针(指向数组元素的指针与指向数组的指针)
- Linux-C成长之路(七)Linux C编程实战之路 数组与指针
- C语言 数组指针与指针数组的探讨一
- C语言 数组指针与指针数组的探讨一
- C语言深度剖析之—指针与内存地址(函数指针,普通指针,指针数组,数组的指针,指针的指针)
- C语言深度剖析之—指针与内存地址(函数指针,普通指针,指针数组,数组的指针,指针的指针)
- 【PHP】php的伪静态的实现
- Mysql集群安装部署,Slave-Mater-Master-Slave模式
- CvCreateImage函数说明
- plist文件的增删改查
- java虚拟机的生命周期
- C指针编程之道(一)- 指针与数组
- CCF权限查询
- php表单加入Token防止重复提交
- android亮屏、暗屏、解锁、关闭系统对话的监听事件
- C指针编程之道(二)- 指针与函数
- 【深入Java泛型】(1)java泛型-基础
- Nexus构建私服-学习笔记
- 静态变量的一点小知识
- [AHK]WIN7_输入法状态_Capslock状态检测提示