- 浏览: 1445079 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (691)
- linux (207)
- shell (33)
- java (42)
- 其他 (22)
- javascript (33)
- cloud (16)
- python (33)
- c (48)
- sql (12)
- 工具 (6)
- 缓存 (16)
- ubuntu (7)
- perl (3)
- lua (2)
- 超级有用 (2)
- 服务器 (2)
- mac (22)
- nginx (34)
- php (2)
- 内核 (2)
- gdb (13)
- ICTCLAS (2)
- mac android (0)
- unix (1)
- android (1)
- vim (1)
- epoll (1)
- ios (21)
- mysql (3)
- systemtap (1)
- 算法 (2)
- 汇编 (2)
- arm (3)
- 我的数据结构 (8)
- websocket (12)
- hadoop (5)
- thrift (2)
- hbase (1)
- graphviz (1)
- redis (1)
- raspberry (2)
- qemu (31)
- opencv (4)
- socket (1)
- opengl (1)
- ibeacons (1)
- emacs (6)
- openstack (24)
- docker (1)
- webrtc (11)
- angularjs (2)
- neutron (23)
- jslinux (18)
- 网络 (13)
- tap (9)
- tensorflow (8)
- nlu (4)
- asm.js (5)
- sip (3)
- xl2tp (5)
- conda (1)
- emscripten (6)
- ffmpeg (10)
- srt (1)
- wasm (5)
- bert (3)
- kaldi (4)
- 知识图谱 (1)
最新评论
-
wahahachuang8:
我喜欢代码简洁易读,服务稳定的推送服务,前段时间研究了一下go ...
websocket的helloworld -
q114687576:
http://www.blue-zero.com/WebSoc ...
websocket的helloworld -
zhaoyanzimm:
感谢您的分享,给我提供了很大的帮助,在使用过程中发现了一个问题 ...
nginx的helloworld模块的helloworld -
haoningabc:
leebyte 写道太NB了,期待早日用上Killinux!么 ...
qemu+emacs+gdb调试内核 -
leebyte:
太NB了,期待早日用上Killinux!
qemu+emacs+gdb调试内核
转载http://kan.weibo.com/con/3512394345711963
C程序:考考你(04) 一、取材于某著名公司的软件人员面试题,请问下面程序的输出结果是什么: #include <stdio.h> int main(void) { int a[5] = {1,2,3,4,5}; int *ptr = (int *)(&a+1); printf("%d, %d", *(a+1), *(ptr-1)); return 0; } 答案:2, 5 二、理由解释: (1) a是数组首地址,也就是a[0]的地址,(a+1)是数组下一元素的地址,即a[1]的地址,因此*(a+1)就是a[1]的值。 (2) &a是对象首地址,该对象是5个int长度的类型,(&a+1)是对象地址加一,即对象首地址加了5个int的长度,因此(&a+1)是a[5]的地址。 注:换个写法是否能有助理解。 #include <stdio.h> int main(void) { int a[5] = {1,2,3,4,5}; int (*ptr)[5] = &a; ptr++; printf("%d, %d", *(a+1), *((int *)ptr-1)); return 0; } 三、我的提示: 不同类型的指针加一之后其地址增加的值是不同的,char型指针加一地址增加1,int型指针加一地址增加4,int (*)[5]型指针加一地址增加5个int长度,即20。由此可知对指针进行代数运算是有风险的,因此即将颁布的国军标《军用软件C/C++语言安全子集》中有建议准则“5.3.2.3 谨慎对指针进行代数运算”。
发表评论
-
weak_ptr解决循环引用问题
2021-03-08 21:12 1072C++11引入的三种智能指 ... -
gcc链接顺序
2019-10-12 18:25 520代码在 https://github.com/killinux ... -
c++11的function和bind
2019-09-10 16:12 485参考:https://www.cnblogs.co ... -
opengl的helloworld
2014-10-22 19:41 8591.我提供一个不需要配置环境就可运行的源码。 glut.h放在 ... -
画图板用c++实现和用js实现的websocket版本
2014-10-17 13:02 2098画图板 opencv的c++ #include <o ... -
c语言内存
2014-07-02 10:26 6631、C中内存分为五个区 栈:用来存放函数的形参和函数内的局部变 ... -
重定向stdout到文件
2014-03-05 18:37 5417把stdout重定向到文件 两种方法: 第一种方法没有恢复 ... -
通过nginx远程执行shell
2014-03-03 10:26 4984saltstack远程执行shell,远程管理等返回json已 ... -
c的urldecode
2014-02-28 18:22 1318#include <stdio.h> #in ... -
pthread的pthread_mutex_lock 的使用
2014-02-25 16:54 26060参考http://haoningabc.iteye.com/b ... -
c调用c++
2013-10-12 15:24 1131参考 http://www.cppblog.com/frank ... -
用C语言,实现接收管道输出的结果,并显示
2013-04-23 21:35 1889在shell里利用“|”管道干的事情就是io重定向,把“|”命 ... -
关于char * 与 char[]
2013-04-22 21:56 920问题引入: 在实习过程中发现了一个以前一直默认的错误,同样ch ... -
单向链表翻转
2012-12-25 23:41 984临时笔记,创建一个链表 #include <stdl ... -
trie 树 的代码
2012-12-14 23:20 1098想起搜狐老大的一句话 看代码先看h文件,擦,当初感觉他这句话很 ... -
指针函数与函数指针的区别
2012-12-14 22:44 1156一、 1、指针函数是指带指针的函数,即本质是一个函数。函数返回 ... -
js备份
2012-10-31 23:56 1683<!DOCTYPE HTML PUBLIC " ... -
线程的helloworld
2012-10-30 21:51 1554#include<stdio.h> #inc ... -
c的书籍
2012-10-30 10:56 1091http://www.acm.uiuc.edu/webmonk ... -
深入理解计算机系统第三章笔记 gcc
2012-10-24 12:11 1488随便写个最简单程序 然后gcc -S 看汇编 在gcc -C ...
相关推荐
对c语言的指针和数组进行详细的分析,让你理解的更透彻。
初探Xcode中指针和数组的使用 讲解关于ios开发中的详细知识
第9章 指针和数组——指针数组的应用:命令行参数C语言程序设计第9章 指针和数组命令行参数什么是命令行参数(Command Line Arguments)?GU
第9章 指针和数组——指针和二维数组之间的关系C语言程序设计第9章 指针和数组换个角度看二维数组将二维数组a看成一维数组,有2个“int[3]型”元素a代表二维
不久前,我应邀去和学弟学妹们(非本专业大一)聊天,他们让我简单地介绍一下什么是编程,以及C语言中指针和数组的关系。 于是我做了一个PPT,并在每班邀请一男一女两位同学来现场表演“指针”和“数组”,现场气氛...
第9章 指针和数组——指针和一维数组之间的关系C语言程序设计第9章 指针和数组一维数组元素的引用数组名代表数组的首地址&a[0]a+1不是加上1个字节,取决于a
C语言指针和数组
如果这篇文章能够纠正许多中国程序员对数组名和指针的误解,笔者就不甚欣慰了。借此文,笔者站在 无数对知识如饥似渴的中国程序员之中,深深寄希望于国内的计算机图书编写者们,能以"深入探索"的思维方式和精益求精...
下面我们来仔细说明一下字符指针数组和指向指针的指针,段1中的程序是下面的样子: char *a[]={"abc","cde","fgh"}; char* *b=a; cout*b|"*(b+1)|"*(b+2); char *a[]定义了一个指针数组,注意不是char[], ...
初探xcode中指针和数组的使用,mac os x编程必备
彻底理解指针,指针数组和数组指针,指针函数和函数指针.doc
指针和数组及算法工具.zip
语言详解指针和数组PPT课件.pptx
第十六章 指针和数组1.指针:一个存储对象的地址。2.数组:存储器中被连续排列的一列数据。3.变元总是以值的形式从主调函数传递到被调用函数。4.声明指针变量:类
C语言的指针和数组的参考资料
语言详解指针和数组PPT学习教案.pptx
专题四 - 指针和数组(上)
指针与C程序效率教学探究(指针与数组效率对比),介绍了指针比数组好的原因