zoukankan      html  css  js  c++  java
  • C语言题库----指针

    1.如果f是一个函数,请说明 f() 和f的意思。

    f是函数的地址,f()是函数

    2.怎样理解数组的下标运算?

    先偏移,后取址。

    3.int *p,*q; int a[]={10,20,30,40}; p=&a[0];  q=&a[3]; 请问q-p等于多少?

    %p输出 为3

    %d输出为12

    4.请说明int aa(char s[])   和 int aa(char *p)的区别?

    在使用上没有区别,s【】只是提醒声明的内容为数组

    5.char *p,*q;  p=”xyz”;   q=p; 请问q=p; 这个赋值语句有没有复制内存中的字符?

    没有

    char p,q;    p=’a’;    q=p;  请问q=p; 这个赋值语句有没有复制内存中的字符?

    有    pq为字符变量,不是指针

    6.int a[]={1,2,3,4};  a++;上面的语句是否可行?如果不可行,请指出错误。

    不可行,a为首元素的地址,不可以改变

    7.int a[]={1,2,3,4}; int *p=a+1; p++; 上面语句是否可行?如果不可行,请指出错误。

    可以

    8.请问怎么打印出指针的地址?

    printf("%p ",p);

    9.int *p,**q,a=6; p=&a; q=&(&a); 请问上面的语句是否可行?如果不行,请指出错误。

    不行,不能对变量取两次地址,地址不占用额外的内存空间

    10.请问int *p; *p=10; 请问上述语句是否正确?如果错误,请指出错误。

    不正确,*p没有指向的内容

    11.请问int *p=NULL;的意义?

    p没有任何指向

    12.请问内存是在变量定义时分配的还是在变量赋值时分配的?

    赋值的时候分配

    13.char *p=”abcdef”; 请问p[3]是什么意思?

    p向后偏移3个单位后间接引用

    14.char *p=”abcdef”; float *pip=3.134;  请问上述语句是否正确?如果错误,请更正。

    指针是地址变量

    15.char *p=”abcd”; *p=’b’; 请问上述语句是否正确?如果错误,请说明原因。

    不正确,不能改变字符串常量的内容

    16.在一个文件里定义int a[10]; 在另一个文件里声明extern int a[];(没有指明长度) 是否可行?

    17.char c[]=”abcdefg”; void fun(char ca[10]){}; 调用函数。 请问 &c 和&ca 是否相等?

    实际参数和形式参数,地址不一样,但是内容一样

    ++ca 和&c[1] 是否相等?

    不相等

    请问 &ca[1] 和 &c[1] 是否相等?

    不相等

    请问c 和 &c 是否相等?

    相等,c是字符串常量的首地址

    18.int *p,a[10]={0}; for(p=&a[9];p>=&a[0];p--){*p=1;} 请问以上语句是否会出现问题?

    不会

    19.char *p=”abcd”; char c[]=”abcd”;   *p=’b’c[0]=’b’请问以上语句是否正确?

    *p的内容指向字符串常量,是不能改变的,c【0】的内容可以改变

    20.char a[][10]={“abcd”,”aaaa”};  char b[2][]={ “abcd”,”aaaa”};请问以上语句是否正确?

    不正确,二维数组b没有定义类型

  • 相关阅读:
    02_Python基础
    python 学习网站
    Docker搭建MySQL服务
    Ubuntu源、Python虚拟环境及pip源配置
    Ubuntu18.04完全卸载mysql5.7并安装mysql8.0的安装方法
    MySQL 数据库
    数据库连接池
    ssm整合开发的相关步骤和增删改查
    Springmvc执行流程
    资源映射之----在springmvc中如何访问WEB-INF目录下的文件和系统文件夹中的文件
  • 原文地址:https://www.cnblogs.com/wengqing/p/9409377.html
Copyright © 2011-2022 走看看