[c/c++] programming之路(19)、数组指针
一、指针运算
#include<stdio.h>
#include<stdlib.h> void main0(){
int a=;
int *p=&a;
printf("%d\n",*(p+));//变量没有初始化
printf("%x,%x\n",p,p+);//相隔一个元素大小
system("pause");
} //指针的乘除法没有意义
//加减法就是确定数组的元素之间相隔几个元素
void main(){
int a[];
/*for(int *p=a,i=0;p<a+10;p++,i++){
*p=i;
}*/
for (int *p = a + ,i=; p >= a; p--,i--)
{
*p = i;
}
system("pause");
}
二、指针赋值
#include<stdio.h>
#include<stdlib.h> void main3(){
//指针与整数不能直接赋值,如果需要赋值,强制类型转换
int *p=(int *);
int m=(int)&p;
} void main4(){
double a[] = {1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,0.0};
printf("%d\n",&a[]-&a[]);
//指针减法
//(0x300500+9*8-0x300500+3*8)/sizeof(double)
printf("%f\n",*(&a[]+));
//指针的加法
//0x300500+2*sizeof(double)
getchar();
} void main(){
int a[] = { , , , , , , , , , };
int *p = a;
//printf("%d\n", *++p);//++优先于*
while(p++<a+){
printf("%d,%x\n",*p,p);
} getchar();
}
三、指针高级运算
#include<stdio.h> void main(){
double a[] = { , , , , , , , , , };
double *p = a;
//printf("%d\n", sizeof(*p)); 8
//printf("%d\n", sizeof(*p++)); 8
//printf("%d\n", sizeof(p++)); 4
//printf("%f\n", *p++); 11
//printf("%f\n", *++p); 2
/*printf("%f\n", ++*p); 12
printf("%f\n", a[0]); 12 */ /*printf("%f\n", (*p)++); 11
printf("%f\n", a[0]); 12 */ /*printf("%f\n", ++(*p)); 12
printf("%f\n", a[0]); 12 */ getchar();
}
四、指针与二维数组
#include<stdio.h>
#include<stdlib.h> void main(){
int a[][] = { ,,,,,,,,,,, };
printf("a=%d\n", sizeof(a));//数组大小
int (*p)[]=a;//用一个指向有四个元素的一维数组的指针指向a
printf("p=%d,*p=%d,*p+0=%d\n", sizeof(p), sizeof(*p), sizeof(*p + ));
//p行指针
//*p取出行指针内容,可以得到一行多大
//*p+0,列指针:在某一行,取出第0个元素的地址 for (int i = ; i < ; i++)
{
for (int j = ; j < ; j++)
{
//下面三行等价
printf("%d,%x\t", p[i][j],&p[i][j]);
printf("%d,%x\t",*(p[i]+j) , p[i]+j);
printf("%d,%x\t", *(*(p+i) + j), *(p+i) + j);
printf("\n");
}
}
system("pause");
}
[c/c++] programming之路(19)、数组指针的更多相关文章
- Z :彻底了解指针数组,数组指针以及函数指针 [复
原创 :彻底了解指针数组,数组指针以及函数指针 [复制链接] 00 roking 白手起家 帖子 60 主题 16 精华 0 可用积分 74 专家积分 0 在线时间 0 小时 注册时间 2003-10 ...
- 指针数组 vs 数组指针
指针数组,故名思义,就是指针的数组,数组的元素是指针: 数组指针,同样,就是直想数组的指针. 简单举例说明: int *p[2]; 首先声明了一个数组,数组的元素是in ...
- [C++ Primer Plus] 第7章、函数(一)程序清单——递归,指针和const,指针数组和数组指针,函数和二维数组
程序清单7.6 #include<iostream> using namespace std; ; int sum_arr(int arr[], int n);//函数声明 void ma ...
- C/C++——二维数组与指针、指针数组、数组指针(行指针)、二级指针的用法
本文转载自:https://blog.csdn.net/qq_33573235/article/details/79530792 1. 二维数组和指针 要用指针处理二维数组,首先要解决从存储的角度对二 ...
- C语言数组指针(指向数组的指针)
注意:数组指针的定义,与指针数组的区别 转载:http://c.biancheng.net/cpp/biancheng/view/162.html 指向多维数组元素的指针变量 ① 指向数组元素的指针变 ...
- C语言基础 (9) 数组指针
复习 只要把地址拿到就能这么操作.. (这里是合法的地址,不是野指针) 只有定义变量后,此变量的地址才是合法的地址 野指针就是保存没有意义地址的指针变量 操作野指针变量本身不会有任何问题 操作野指针所 ...
- C与指针(结构体指针,函数指针,数组指针,指针数组)定义与使用
类型 普通指针 指针数组(非指针类型) 数组指针 结构体指针 函数指针 二重指针 定义方式 int *p; int *p[5]; int (*p)[5]; int a[3][5]; struct{.. ...
- 问题:C++ 删除数组指针实用 delete []变量 汇编怎么实现的?
问题:C++ 删除数组指针实用 delete []变量 汇编怎么实现的?
- c/c++ 函数指针 指针函数 数组的引用 指针数组 数组指针
1.指针数组数组指针 引用数组 数组的引用 int *a[10] 指针数组 每一个元素都是一个指针 Int (*a)[10] 数组指针 P指向一个含有10个元素的数组 Int (&a)[10] ...
- C/C++中的指针数组和数组指针
1. 指针数组 定义:int *p[n],由于[]的优先级高于*,p和[]结合成一个数组,该数组的元素存储的是int类型的指针,由于数组内容是指针,因此p+1的步长是sizeof(int*),在32位 ...
随机推荐
- 不规则的JSON解析(一)
现有如下数据结构: { "orderId":"000001", "goodsId[0]":"001", &q ...
- 关于windows 下每次打开IE 8都弹出欢迎使用Internet Explorer 8 弹窗的关闭方法
今天笔者在安装完windows 操作系统后,发现了一个问题,即每次打开IE 8浏览器,都会弹出一个欢迎界面: 弹窗标题为:设置windows Internet Explorer,具体内容如下图所示: ...
- socket.io 中文文档
Socket.io是一个WebSocket库,包括了客户端的js和服务器端的nodejs,它的目标是构建可以在不同浏览器和移动设备上使用的实时应用.它会自动根据浏览器从WebSocket.AJAX长轮 ...
- 17、php
php 1.WEB服务的三大组件 ==apache .php . mysql== Apache服务器.(端口号定义,==http协议==,开启和关闭) 一种开放源码的HTTP服务器,可以在大多数计 ...
- Android开发入门经典【申明:来源于网络】
Android开发入门经典[申明:来源于网络] 地址:http://wenku.baidu.com/view/6e7634050740be1e650e9a7b.html?re=view
- PHP Echarts Ajax Json柱形图示例
<?php $server = '127.0.0.1'; $user = 'root'; $password = ''; $database = 'yiibaidb'; $conn = new ...
- C#基础加强(3)之值、引用类型及结构体
值.引用类型 介绍 引用类型派生自 System.Object ,而值类型均隐式派生自 System.ValueType . 其实 System.ValueType 也是继承自 System.Obje ...
- javaweb(4)之Listener&Filter
监听器 (Listener) 介绍 监听器用于监听 web 应用中某些对象.信息的创建.销毁.增加,修改,删除等动作的发生,然后作出相应的响应处理.当范围对象的状态发生变化的时候,服务器自动调用监听器 ...
- Vue脚手架使用步骤 2.9.6版本
转载自:https://blog.csdn.net/sky_LQ/article/details/80729547 Vue脚手架使用步骤 2018年06月19日 12:10:35 sky_LQ 阅读数 ...
- Mac下搭建solr搜索引擎与PHP扩展开发(下)
[接上一篇]https://www.cnblogs.com/rxbook/p/10716759.html [下载php的solr扩展] 现在开始使用php和solr交互了,所以必需安装solr扩展,下 ...