A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© su199325 中级黑马   /  2015-5-24 14:23  /  1662 人查看  /  14 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

假如int *s;那么*s=“hello”和s=“hello”有什么区别

14 个回复

倒序浏览
S=“hello”是把字符‘h’的地址赋值给指针变量S ,*S = "hello"不太理解,按理说,是把hello赋值给S所指向的内存空间,但是C中只能用数组或指针来存储字符串呀
回复 使用道具 举报
支持一下  指针挺绕的
回复 使用道具 举报
首先两个写法都错误,s是指向int的指针变量;*s=“hello”,显然hello不是整型也不是字符型;s="hello"也会报错:“hello”相当于一个char数组 ,因而s不能指向char数组;你这样写编译就会有问题
回复 使用道具 举报
CornerFly 发表于 2015-5-24 15:04
S=“hello”是把字符‘h’的地址赋值给指针变量S ,*S = "hello"不太理解,按理说,是把hello赋值给S所指向 ...

你理解完全错,因为s只是指向int型的指针变量
回复 使用道具 举报
CornerFly 发表于 2015-5-24 15:04
S=“hello”是把字符‘h’的地址赋值给指针变量S ,*S = "hello"不太理解,按理说,是把hello赋值给S所指向 ...

你理解完全错,因为s只是指向int型的指针变量
回复 使用道具 举报
李闯 中级黑马 2015-5-25 21:07:07
7#
指针确实是一个难点
回复 使用道具 举报
感觉下面的大神说的很好,受教了
回复 使用道具 举报
今天刚看还没有学到
回复 使用道具 举报
复习一下
回复 使用道具 举报
受教了,赞一个
回复 使用道具 举报
yuang4074 发表于 2015-5-25 20:50
你理解完全错,因为s只是指向int型的指针变量

好吧,忽略了数据类型,好丑。。。。。
回复 使用道具 举报
虽然没看懂,但是感觉int类型传个字符串,有点别扭,支持下
回复 使用道具 举报
指针最纠结了。
回复 使用道具 举报
题目有有问题吧!int类型的指针怎么可以存储字符串的地址呢?应该是:假如char *s;那么*s=“hello”和s=“hello”有什么区别
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马