哪个网站可以做结婚请柬,东莞市建设局网app,产品推广营销方案,做房地产开网指针和数组我们已经学习的差不多了#xff0c;今天就为大家分享一些指针和数组的常见练习题#xff0c;还包含许多经典面试题哦#xff01; 一、求数组长度和大小 普通一维数组 int main()
{//一维数组int a[] { 1,2,3,4 };printf(%d\n, sizeof(a));//整个数组…指针和数组我们已经学习的差不多了今天就为大家分享一些指针和数组的常见练习题还包含许多经典面试题哦 一、求数组长度和大小 普通一维数组 int main()
{//一维数组int a[] { 1,2,3,4 };printf(%d\n, sizeof(a));//整个数组大小16printf(%d\n, sizeof(a 0));//首元素地址8printf(%d\n, sizeof(*a));//首元素4printf(%d\n, sizeof(a 1));//第二个元素地址8printf(%d\n, sizeof(a[1]));//第二个元素4printf(%d\n, sizeof(a));//整个数组地址 8printf(%d\n, sizeof(*a));//先拿到这个数组地址再解引用拿到整个数组即数组名-》16printf(%d\n, sizeof(a 1));//地址8printf(%d\n, sizeof(a[0]));//第一个元素地址8printf(%d\n, sizeof(a[0] 1));//第二个元素地址8return 0;
}字符数组 int main()
{//字符数组char arr[] { a,b,c,d,e,f };printf(%d\n, sizeof(arr));//整个数组 6printf(%d\n, sizeof(arr 0));//数组首元素地址8printf(%d\n, sizeof(*arr));//第一个元素1printf(%d\n, sizeof(arr[1]));//第一个元素1printf(%d\n, sizeof(arr));//整个数组地址8printf(%d\n, sizeof(arr 1));//地址8printf(%d\n, sizeof(arr[0] 1));//第二个元素地址8printf(%d\n, strlen(arr));//随机值printf(%d\n, strlen(arr 0));//随机值/* printf(%d\n, strlen(*arr));printf(%d\n, strlen(arr[1]));*/printf(%d\n, strlen((const char*) arr));printf(%d\n, strlen((const char*)(arr 1)));printf(%d\n, strlen(arr[0] 1));//随机值return 0;
}字符串数组 int main()
{char arr[] abcdef;printf(%d\n, sizeof(arr));//这个数组7printf(%d\n, sizeof(arr 0));//第一个元素地址8printf(%d\n, sizeof(*arr));//第一个元素1printf(%d\n, sizeof(arr[1]));//第一个元素1printf(%d\n, sizeof(arr));//这个数组地址8printf(%d\n, sizeof(arr 1));//地址8printf(%d\n, sizeof(arr[0] 1));//第二个元素地址8printf(%d\n, strlen(arr));//数组长度6printf(%d\n, strlen(arr 0));//6/*printf(%d\n, strlen(*arr));printf(%d\n, strlen(arr[1]));printf(%d\n, strlen(arr));printf(%d\n, strlen(arr 1));*/printf(%d\n, strlen(arr[0] 1));//5return 0;
} 指向字符串的字符指针 int main()
{const char* p abcdef;printf(%d\n, sizeof(p));//指针大小8printf(%d\n, sizeof(p 1));//指针大小8printf(%d\n, sizeof(*p));//第一个字符a大小1printf(%d\n, sizeof(p[0]));//第一个字符a大小1printf(%d\n, sizeof(p));//指针的地址大小8printf(%d\n, sizeof(p 1));//指针的地址大小8printf(%d\n, sizeof(p[0] 1));//第二个元素地址大小8printf(%d\n, strlen(p));//长度6printf(%d\n, strlen(p 1));//长度5/*printf(%d\n, strlen(*p));printf(%d\n, strlen(p[0]));printf(%d\n, strlen(p));printf(%d\n, strlen(p 1));*/printf(%d\n, strlen(p[0] 1));//长度5return 0;
} 二维数组 //int main()
//{
// int a[3][4] { 0 };
// printf(%d\n, sizeof(a));//整个数组大小48
// printf(%d\n, sizeof(a[0][0]));第一个元素大小4// printf(%d\n, sizeof(a[0]));//第一行数组的数组名大小16
// a[0]是第一行一维数组的数组名数组名单独放在了sizeof里面就表示整个数组所以就算的就算整个数组的大小 为16// printf(%d\n, sizeof(a[0] 1));//第一行第二个元素地址8
// printf(%d\n, sizeof(*(a[0] 1)));//第一行第二个元素大小4
// printf(%d\n, sizeof(a 1));//第二行的地址大小8
// printf(%d\n, sizeof(*(a 1)));//第二行数组的数组名大小16
// printf(%d\n, sizeof(a[0] 1));//第二行数组地址大小8
// printf(%d\n, sizeof(*(a[0] 1)));//第二行数组数组名大小16
// printf(%d\n, sizeof(*a));//第一行数组数组名大小16
// printf(%d\n, sizeof(a[3]));//数组名大小16
//
// return 0;
//}/*
二维数组有的情况下可以拿到某一行数组的数组名这时放在sizeof中就算的也是那行数组的大小
二维数组就是数组的数组就是一维数组的数组
eg:
a[3][4] a[0]就是第一行数组的数组名sizeof算他的大小为第一行整个数组的大小 为16
*/
总节 数组名的意义 sizeof(数组名)这里的数组名表示整个数组计算的是整个数组的大小。数组名这里的数组名表示整个数组取出的是整个数组的地址。除此之外所有的数组名都表示首元素的地址。 二、指针相关题型 笔试题1 int main()
{int a[5] { 1, 2, 3, 4, 5 };int* ptr (int*)(a 1);printf(%d,%d, *(a 1), *(ptr - 1));//2 5return 0;//程序的结果是什么return 0;
} 笔试题2 struct Test
{int Num;char* pcName;short sDate;char cha[2];short sBa[4];
}*p;
//假设p 的值为0x100000。 如下表表达式的值分别为多少
//已知结构体Test类型的变量大小是20个字节
int main()
{p (struct Test*)0x100000;printf(%p\n, p 0x1);//0x100014printf(%p\n, (unsigned long)p 0x1);//0x100001printf(%p\n, (unsigned int*)p 0x1);//0x100004return 0;
}分析
p为结构体指针1相当于跳过一个结构体大小这里告知结构体的大小是20个字节p 0x1按16进制打印出来是0x100014p转化为无符号 长整型并非指针1就是10x100001p转化为无符号整型类型指针1跳过四个字节。0x100004 由于以%p打印第一个00100014,第二个00100001第三个00100004 笔试题3 int main()
{int a[4] { 1, 2, 3, 4 };int* ptr1 (int*)(a 1);int* ptr2 (int*)((int)a 1);printf(%x,%x, ptr1[-1], *ptr2);//4 2000000//%x打印16进制//%o打印8进制return 0;
} 笔试题4 int main()
{int a[3][2] { (0, 1), (2, 3), (4, 5) };int* p;p a[0];//p就算第一个元素地址printf(%d, p[0]);//return 0;
} 笔试题5 int main()
{int a[5][5];int(*p)[4];p (int(*)[4]) a;printf(%p,%d\n, p[4][2] - a[4][2], p[4][2] - a[4][2]);return 0;
}所以相减就是-4 笔试题6 //int main()
//{
// int aa[2][5] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
// int* ptr1 (int*)(aa 1);
// int* ptr2 (int*)(*(aa 1));
// printf(%d,%d, *(ptr1 - 1), *(ptr2 - 1));//10 5
// return 0;
//} 笔试题7 int main()
{const char* a[] { work,at,alibaba };const char** pa a;pa;printf(%s\n, *pa);// atreturn 0;
}
这是其中的关系的分布图 笔试题8 int main()
{const char* c[] { ENTER,NEW,POINT,FIRST };const char** cp[] { c 3,c 2,c 1,c };const char*** cpp cp;printf(%s\n, **cpp);//POINTprintf(%s\n, *-- * cpp 3);//ERprintf(%s\n, *cpp[-2] 3);//STprintf(%s\n, cpp[-1][-1] 1);//EWreturn 0;
}1、cpp,cpp指向c2,解引用拿到c2,在解引用拿到POINT的首地址然后按照%s打印出来POINT 2、cpp使cpp指向c1,解引用拿到c1,再–c1使其指向c,再解引用拿到ENTER的地址再3拿到E的地址根据%s打印出ER 类方法就是这样子依次可以全部解出来
总结 今天的指针数组练习题就分享到这里啦这些题型都能够很好的帮助我们对数组和指针有更加深刻的掌握谢谢大家 文章转载自: http://www.morning.ypnxq.cn.gov.cn.ypnxq.cn http://www.morning.rcdmp.cn.gov.cn.rcdmp.cn http://www.morning.ksggl.cn.gov.cn.ksggl.cn http://www.morning.tmzlt.cn.gov.cn.tmzlt.cn http://www.morning.rwlns.cn.gov.cn.rwlns.cn http://www.morning.pnmgr.cn.gov.cn.pnmgr.cn http://www.morning.leboju.com.gov.cn.leboju.com http://www.morning.fglth.cn.gov.cn.fglth.cn http://www.morning.elbae.cn.gov.cn.elbae.cn http://www.morning.khpx.cn.gov.cn.khpx.cn http://www.morning.zqmdn.cn.gov.cn.zqmdn.cn http://www.morning.madamli.com.gov.cn.madamli.com http://www.morning.qzpqp.cn.gov.cn.qzpqp.cn http://www.morning.pznnt.cn.gov.cn.pznnt.cn http://www.morning.zlnmm.cn.gov.cn.zlnmm.cn http://www.morning.llsrg.cn.gov.cn.llsrg.cn http://www.morning.pbgnx.cn.gov.cn.pbgnx.cn http://www.morning.qsy37.cn.gov.cn.qsy37.cn http://www.morning.huxinzuche.cn.gov.cn.huxinzuche.cn http://www.morning.lbbgf.cn.gov.cn.lbbgf.cn http://www.morning.bpmz.cn.gov.cn.bpmz.cn http://www.morning.ksggr.cn.gov.cn.ksggr.cn http://www.morning.qhnmj.cn.gov.cn.qhnmj.cn http://www.morning.kqrql.cn.gov.cn.kqrql.cn http://www.morning.rljr.cn.gov.cn.rljr.cn http://www.morning.hmgqy.cn.gov.cn.hmgqy.cn http://www.morning.nrtpb.cn.gov.cn.nrtpb.cn http://www.morning.pbmg.cn.gov.cn.pbmg.cn http://www.morning.knpmj.cn.gov.cn.knpmj.cn http://www.morning.rjnrf.cn.gov.cn.rjnrf.cn http://www.morning.dqzcf.cn.gov.cn.dqzcf.cn http://www.morning.pwdmz.cn.gov.cn.pwdmz.cn http://www.morning.wnkbf.cn.gov.cn.wnkbf.cn http://www.morning.weiwt.com.gov.cn.weiwt.com http://www.morning.rfhmb.cn.gov.cn.rfhmb.cn http://www.morning.mftzm.cn.gov.cn.mftzm.cn http://www.morning.rbjf.cn.gov.cn.rbjf.cn http://www.morning.dgmjm.cn.gov.cn.dgmjm.cn http://www.morning.kdpal.cn.gov.cn.kdpal.cn http://www.morning.fglxh.cn.gov.cn.fglxh.cn http://www.morning.nmymn.cn.gov.cn.nmymn.cn http://www.morning.kgltb.cn.gov.cn.kgltb.cn http://www.morning.nkkr.cn.gov.cn.nkkr.cn http://www.morning.cbmqq.cn.gov.cn.cbmqq.cn http://www.morning.bdwqy.cn.gov.cn.bdwqy.cn http://www.morning.jhrtq.cn.gov.cn.jhrtq.cn http://www.morning.fhxrb.cn.gov.cn.fhxrb.cn http://www.morning.hyhqd.cn.gov.cn.hyhqd.cn http://www.morning.mmxnb.cn.gov.cn.mmxnb.cn http://www.morning.tkgxg.cn.gov.cn.tkgxg.cn http://www.morning.tkchm.cn.gov.cn.tkchm.cn http://www.morning.rtbx.cn.gov.cn.rtbx.cn http://www.morning.cylbs.cn.gov.cn.cylbs.cn http://www.morning.qzglh.cn.gov.cn.qzglh.cn http://www.morning.tnbas.com.gov.cn.tnbas.com http://www.morning.rtqyy.cn.gov.cn.rtqyy.cn http://www.morning.aswev.com.gov.cn.aswev.com http://www.morning.qjngk.cn.gov.cn.qjngk.cn http://www.morning.nqrlz.cn.gov.cn.nqrlz.cn http://www.morning.gqbtw.cn.gov.cn.gqbtw.cn http://www.morning.wrtsm.cn.gov.cn.wrtsm.cn http://www.morning.cwrpd.cn.gov.cn.cwrpd.cn http://www.morning.mbnhr.cn.gov.cn.mbnhr.cn http://www.morning.nytgk.cn.gov.cn.nytgk.cn http://www.morning.grlth.cn.gov.cn.grlth.cn http://www.morning.ygkk.cn.gov.cn.ygkk.cn http://www.morning.fchkc.cn.gov.cn.fchkc.cn http://www.morning.qhfdl.cn.gov.cn.qhfdl.cn http://www.morning.chzbq.cn.gov.cn.chzbq.cn http://www.morning.bloao.com.gov.cn.bloao.com http://www.morning.pmnn.cn.gov.cn.pmnn.cn http://www.morning.jmbgl.cn.gov.cn.jmbgl.cn http://www.morning.lznqb.cn.gov.cn.lznqb.cn http://www.morning.rnfn.cn.gov.cn.rnfn.cn http://www.morning.zshuhd015.cn.gov.cn.zshuhd015.cn http://www.morning.bpknt.cn.gov.cn.bpknt.cn http://www.morning.ryglh.cn.gov.cn.ryglh.cn http://www.morning.qgwpx.cn.gov.cn.qgwpx.cn http://www.morning.mcpdn.cn.gov.cn.mcpdn.cn http://www.morning.zqnmp.cn.gov.cn.zqnmp.cn