| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 840 人关注过本帖
标题:求助:数组与指针的差别
取消只看楼主 加入收藏
TAAAAB
Rank: 7Rank: 7Rank: 7
来 自:湖南
等 级:黑侠
威 望:1
帖 子:243
专家分:635
注 册:2011-5-29
结帖率:95.24%
收藏
已结贴  问题点数:20 回复次数:5 
求助:数组与指针的差别
在VC下运行时会出错,书上的内容看了好几遍,还是无法理解是在哪个地方出错。
求指点。

程序代码:
# include <stdio.h>
int main (void)
{
    char * p1 = "Aaaaaaa";
    *p1= 'B';
    printf ("    %s\n", "wwqrreqewr");
}
2015-01-12 17:26
TAAAAB
Rank: 7Rank: 7Rank: 7
来 自:湖南
等 级:黑侠
威 望:1
帖 子:243
专家分:635
注 册:2011-5-29
收藏
得分:0 
回复 2楼 轉身已陌路
运行出错,编译没问题

人有多懒,编程就有多难。
2015-01-12 17:54
TAAAAB
Rank: 7Rank: 7Rank: 7
来 自:湖南
等 级:黑侠
威 望:1
帖 子:243
专家分:635
注 册:2011-5-29
收藏
得分:0 
这样理解不知道对不对?
总之现在比较纠结,有时感觉想通了,但是做书上习题的时候又很不顺。

程序代码:
//把字符串常量中的每个字符分别赋给数组中的每个元素。数组名是指针常量,数组元素是变量。
char str[50] = "Bbbbbbb";
    
//把字符串常量中第一个字符的地址赋给char *类型指针。ptr1是指针变量。*ptr1是常量。
char * ptr1 = "Ccccccc";
        
str[0] = 'D'; //给常量赋值,正确。
*ptr1 = 'D'; //给常量赋值,错误。
str++; //常量不能自增运算,错误。
ptr1++; //变量可以自增运算,正确。

ptr1 = str;//虽然改变了指针变量ptr1的值,但是字符串“Ccccccc”其实并没有消失

************************************
如果编译器支持下面代码,那么输出结果会是Wcccccc
char * ptr1 = "Ccccccc"; 
*ptr = 'W'; 
printf ("%s\n", "Ccccccc");
************************************

人有多懒,编程就有多难。
2015-01-12 22:26
TAAAAB
Rank: 7Rank: 7Rank: 7
来 自:湖南
等 级:黑侠
威 望:1
帖 子:243
专家分:635
注 册:2011-5-29
收藏
得分:0 
这样理解不知道对不对?
总之现在比较纠结,有时感觉想通了,但是做书上习题的时候又很不顺。

程序代码:
//把字符串常量中的每个字符分别赋给数组中的每个元素。数组名是指针常量,数组元素是变量。
char str[50] = "Bbbbbbb";
    
//把字符串常量中第一个字符的地址赋给char *类型指针。ptr1是指针变量。*ptr1是常量。
char * ptr1 = "Ccccccc";
        
str[0] = 'D'; //给常量赋值,正确。
*ptr1 = 'D'; //给常量赋值,错误。
str++; //常量不能自增运算,错误。
ptr1++; //变量可以自增运算,正确。

************************************
//ptr1 = str;//虽然改变了指针变量ptr1的值,但是字符串“Ccccccc”其实并没有消失
//如果编译器支持下面代码,那么输出结果会是Wcccccc
char * ptr1 = "Ccccccc"; 
*ptr = 'W'; 
printf ("%s\n", "Ccccccc");
************************************


[ 本帖最后由 TAAAAB 于 2015-1-12 22:27 编辑 ]

人有多懒,编程就有多难。
2015-01-12 22:26
TAAAAB
Rank: 7Rank: 7Rank: 7
来 自:湖南
等 级:黑侠
威 望:1
帖 子:243
专家分:635
注 册:2011-5-29
收藏
得分:0 
回复 10楼 longwu9t
打错了 应该是
ptr1 = 'W';

人有多懒,编程就有多难。
2015-01-13 10:45
TAAAAB
Rank: 7Rank: 7Rank: 7
来 自:湖南
等 级:黑侠
威 望:1
帖 子:243
专家分:635
注 册:2011-5-29
收藏
得分:0 
回复 10楼 longwu9t
打错了 应该是
ptr1 = 'W';

人有多懒,编程就有多难。
2015-01-13 10:45
快速回复:求助:数组与指针的差别
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021405 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved