Linux C 程序指针和指针数组(NIGH)
指针和指针数组
#include<stdio.h>
int main() {
, b = ;
int *p1 = &a , *p2 = &b ;
printf("%d,%d\n",a ,b);
printf("%d,%d\n",*p1,*p2);
printf("%x,%x\n",&a,&b);
printf("%x,%x\n",p1,p2);
*p1 = *p1 * ;
printf("%d\n",a);
printf("%d\n\n",*p1);
p1 = &b;
printf("%x\n",p1);
printf("%x\n",p2);
;
}
指针数组
#include<stdio.h>
// 不同方式输出数组
int main(){
] , i , *p=NULL;
; i < ; i++){
a[i] = i;
}
; i < ; i++){
printf("%d ",a[i]);
}
printf("\n");
; i < ; i++){
printf("%d ",*(a+i));
}
printf("\n");
;){
printf("%d ",*p++);
}
printf("\n");
;
}
~
* ,++ ,--优先级相同
*p++:先取得当前p所指向得变量值,再使p指向后一个变量。相当于 a[i++]
*p--:先取得当前p所指向得变量,再使p指向前一个变量,相当于a[i--]
*++p:先使指向后一个变量,再取p所指向得变量得值,相当于a[++i]
*--p :先使得p指向前一个变量,再取p所指向得变量得值,相当于 a[--i]
数组元素也可以是指针类型:这种数组称为指针数组,也就是说指针数组得每个元素都是指针变量。
];
* 运算符得优先级低于 [ ]
p先与5结合,显然他是一个数组,再与*结合表示数组元素类型全是指针。
这里的p是一个二级指针。
Linux C 程序指针和指针数组(NIGH)的更多相关文章
- Linux C 程序 指针数组和二级指针(TEN)
指针数组和二级指针 #include<stdio.h> int main(){ ] = {,,,,}; ], i; int **pp = p; //使p指针数组指向每一个a ; i < ...
- C++基础 (8) 第八天 数组指针 模板指针 C语言中的多态 模板函数
1昨日回顾 2 多态的练习-圆的图形 3多态的练习-程序员薪资 4员工管理案例-抽象类和技术员工的实现 employee.h: employee.cpp: technician.h: technici ...
- 指针的指针&指向指针数组的指针
一.指针的指针 指针的指针看上去有些令人费解.它们的声明有两个星号.例如: char ** cp; 如果有三个星号,那就是指针的指针的指针,四个星号就是指针的指针的指针的指针 ...
- C++指针数组和指向指针的指针
指针数组 定义: 如果一个 数组,其元素均为指针型数据,该数组为指针数组,也就是说,指针数组中的每一个元素相当于一个指针变量,它的值都是地址. 形式: 一维指针数组的定义形式为: int[类型名] * ...
- C语言 指针基础篇 数组,函数与指针的运用 2 14
下面看看如何在函数中运用指针吧 下面是往函数传入指针的简单操作,不是传入数组的.判断一个a是否大于b是的话给,是的话对其进行操作,不是的话就直接返回. #include <stdio.h> ...
- (C/C++)区别:数组与指针,指针与引用
1.数组跟指针的区别 数组要么在静态存储区被创建(如全局数组),要么在栈上被创建.数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变. 指针可以随时指向任意类型 ...
- C和C指针小记(十三)-数组
1.1 一维数组 一维数组的声明: int a[10]; 这里a就是一个数组. 数组a的类型就是一个指向整型的常量指针. 但是数组和指针是**不相同**的. **数组具有特定数量的元素,而指针只是一个 ...
- 数组指针与指针数组(good)
数组指针和指针数组的区别 数组指针(也称行指针) 定义 int (*p)[n]; ()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长.也就是说执行p ...
- C/C++——二维数组与指针、指针数组、数组指针(行指针)、二级指针的用法
本文转载自:https://blog.csdn.net/qq_33573235/article/details/79530792 1. 二维数组和指针 要用指针处理二维数组,首先要解决从存储的角度对二 ...
随机推荐
- Qt 学习第一步 做计划和确定目标
接下来開始一步步深入学习Qt. 学习的第一步是整理资料,也就是找书和sample. 逛了一些论坛,推荐以下3本书 1> C++ GUI programming with Qt 4(2nd Edi ...
- perl详解
http://www.blogjava.net/qileilove/archive/2013/09/04/403646.html
- 线程控制之线程和fork
当线程调用fork时,就为子进程创建了整个进程地址空间的副本.回忆http://www.cnblogs.com/nufangrensheng/p/3509492.html中讨论的写时复制,子进程与父进 ...
- java_io_操作封装
package com.wiker; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import j ...
- php引入公用部分html出现了一行空白(原创)
在导入公用部分html(客服信息)时,莫名其妙出现了一行空白,样式,html均无问题 后来才发现是html多了一行空白 <div class="ad-module-item3 fn-m ...
- [Java] HashMap、TreeMap、Hashtable排序
Java中对Map(HashMap,TreeMap,Hashtable等)的排序时间 首先简单说一下他们之间的区别: HashMap: 最常用的Map,它根据键的HashCode 值存储数据,根据键可 ...
- css笔记11:选择器练习
1. (1)exam1.css文件: .s1 { font-size: 50px; color: blue; } .s2 { backgoround:gray; font-style: italic; ...
- [转]利用vertical-align:middle实现在整个页面居中
本文转自:http://www.cnblogs.com/xueming/archive/2012/03/21/VerticalAlign.html 如果想让一个div或一张图片相对于整个页面居中,用v ...
- bash下自动重新运行git/curl等工具
在使用诸如git/curl等工具的时候,如果网络状况不佳,经常会产生出错中断的情况,于是我们就会发现晚上挂机的下载一些代码和工具包,早上再看已经中断. 为应对这种情况我们需要判断下载工具的运行结果,如 ...
- 蓝牙 CoreBluetooth
baseK(相关基础知识)蓝牙常见名称和缩写 BLE:(Bluetooth low energy)蓝牙4.0设备因为低耗电,也叫BLEperipheral,central:外设和中心设备,发起链接的是 ...