![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
my_dream_1208
从事基于Linux应用软件开发及android framework层及JNI开发
展开
-
关于一个int *ptr=(int *)(&a+1)问题的探讨
从网络上看到这样一道有意思的题目,是关于数组与指针的问题,描述如下:main(){int a[5]={1,2,3,4,5};int *ptr=(int *)(&a+1);printf("%d,%d",*(a+1),*(ptr-1));}输出为:2,5请解释以上代码的输出结果。答案如下:*(a+1)其实很简单就是指a[1],输出为2.问题关键就在于第二个点转载 2017-08-18 14:20:44 · 383 阅读 · 0 评论 -
请写出下面代码在 32 位平台上的运行结果并给出分析,并说明sizeof的性质
#include #include int main(void) { char a[30]; char *b = (char*)malloc(20 * sizeof(char)); printf("%d\n",sizeof(a)); printf("%d\n",sizeof(b)); printf("%d\n",sizeof(a[3]));转载 2017-08-18 14:59:41 · 844 阅读 · 0 评论 -
嵌入式开发—C语言面试题
1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2). 懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计转载 2017-08-18 15:03:56 · 946 阅读 · 0 评论 -
C union使用
#include union { int i; char x[2]; }a; int main() { a.x[0] = 10; a.x[1] = 1; printf("%d",a.i); return 0; }公用体公用一个内存区域sizeof(a)为共用体成员中长度最长的成员的size。即iint: (|_|_|_|_原创 2017-08-19 15:15:57 · 490 阅读 · 1 评论