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 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复