char *p="My intrests! "

"My intrests! "这个字符串的意义只相当于首地址。

=赋值后,相当于把字符串首地址赋值给了指针变量p。

妙用无穷啊。比数组方便,不用初始化数组元素数量,使用gets()也变安全了。

也可以不使用strcpy()复制字符串了。

////////////////////////////////////////////////

#include<stdio.h>

//#include<string.h> 

struct _INFO

{

    int num;

    char *str;

};

int main() 

{

    struct _INFO A;

    A.num = 2014;

    A.str="Welcome to dotcpp.com";

    //输出字符要使用地址对应的值,注意格式%c

    printf("This year is %d %c\n",A.num,*(A.str+1));

    //输出字符串只需要输出首地址,注意格式%s

    printf("This year is %d %s\n",A.num,A.str);

    

    return 0;

}

/////////////////////////////////////////////////

输出结果:

This year is 2014 e

This year is 2014 Welcome to dotcpp.com

///////////////////////////////////////////////


以上代码是从教程修改来的,验证指针变量用法。教程原来的代码如下:

#include<stdio.h>

#include<string.h> 

struct _INFO

{

    int num;

    char str[256];

};

int main() 

{

    struct _INFO A;

    A.num = 2014;

    strcpy(A.str,"Welcome to dotcpp.com");

    printf("This year is %d %s\n",A.num,A.str);

    return 0;

}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论