指针问题专题

int *p=&a与int *p;   p=&a;等价;

而 int *p; *p=a,只是将a的值赋给了*p。

选D

 

有三种书写格式:

int main (int argc,char *argv[])

int main(int argc,char **argv)

int main(int argc,char *[]argv)

选B

 

 在该程序中,首先声明整型指针变量 p 和整型变量 i ,字符型指针变量 q 和字符型变量 ch ,将 i 的地址赋给指针变量 p ,将 ch 的地址赋给指针变量 q ,然后将40赋给* p 。此时,虽然 q 已经指向了一个具体的存储单元,但 ch 的值不确定,即* q 没有确定的值,所以不能执行* p =* q ;语句。

因为【】的优先级比*高,所以与C等价。

C 语言中,字符串必须是以'\0 '结尾。在答案 A 中, s 定义为5个元素的字符型数组,即最多能存放5个字符,字符串结尾符"\0'无法存放,故 A 是错误的字符串赋值;答案 B 对数组赋值没错,但同 A 一样,没有字符串结尾符' \0',所以也是错误的;答案 D 是"野指针"赋值,是错误的;而对于答案 C ,先定义字符指针 s ,而后将字符串" ABCDE "的首地址赋值给指针变量 s ,是正确的赋值。所以正确答案是 C 。

C 语言通常允许 main ()函数带有两个参数,可由用户自己命令,但类型是固定的。第一个参数是整型,第二个参数是一个指向字符型指针数组的指针或一个基本类型为字符型的指针数组,此时传给形参的值只能从命令行中得到。



 选C

  • 13
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值