c语言 指针测试题,整理的C语言指针测试题

整理的C语言指针测试题

C语言是学好C++的基础,下面的测试题可以很好的帮助我们测试自己掌握C语言的程度。

int x=35;

char str[10];

//问:strlen(str)和sizeof(str)的值分别是多少?

strcpy(str," www.it315.org"/*共13个字母*/);

//问:此时x和strlen(str)的值分别是多少?

str="it315.org";//编译能通过吗?

char *pstr;

strcpy(pstr," http://www.it315.org");

//上句编译能通过吗?运行时有问题吗?

const char *p1;

char * const p2;

//上面两句有什么区别吗?

p1=(const char *)str;

//如果是p1=str;编译能够通过吗?明白为什么要类型转换?类型转换的本质是什么?

strcpy(p1,"abc");//编译能够通过吗?

printf("%d",str);//有问题吗?

pstr=3000;//编译能过吗?如果不行,该如何修改以保证编译通过呢?

long y=(long)pstr;//可以这样做吗?

int *p=str;

*p=0x00313200;

printf("%s",str);//会是什么效果?提示0x31对应字符'1',0x32对应字符'2'。

p=3000;//p+1的结果会是多少?

char *pc=new char[100];//上述语句在内存中占据几个内存块,怎样的布局情况?

void test(char **p)

{

*p=new char[100];

}//这个编译函数有问题吗?外面要调用这个函数,该怎样传递参数?

//能明白typedef int (*PFUN)(int x,int y)及其作用吗?

下面的代码,各自声明了什么?

void *(*(*fp1)(int))[10];

float *(*(fp2)(int,int,float))(int);

typedef double *(*(*fp3)())[10])();

int (*(*f4())[10])();

上面的这些仅作为测试,实际中应用的不多,主要考量的是指针

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值