int age;
char *name;
};
struct person first;
struct person *ptr;
first.age = 21;
char *fullname = "full name";
first.name = fullname;
ptr = &first;
printf("age=%d, name=%s\n", first.age, ptr->name);
第1至6行声明了一个person结构体,一个变量指向了一个person结构体和指向person结构体的指针。第8行为age成员赋了一个int值。第9至10行我们声明了一个char指针并赋值给一个char数组并赋值给结构体name成员。第11行我们把一个person结构体引用赋值给结构体变量。
第13行我们打印了结构体实例的age和name。这里需要注意两个不同的符号,’.’ 和 ‘->’ 。结构体实例可以通过使用 ‘.’ 符号访问age变量。对于结构体实例的指针,我们可以通过 ‘->’ 符号访问name变量。也可以同样通过(*ptr).name来访问name变量。
总结
希望这份简短的概述能够有助于了解不同的指针类型。在后续的文章中我们会探讨其它类型的指针和高级用法,比如函数指针。大家有兴趣的可以关注一波哦!
博主是一个有着7年工作经验的架构师,对于c++,自己有做资料的整合,一个完整学习C语言c++的路线,学习资料和工具。可以进我的Q群7418,18652领取,免费送给大家。希望你也能凭自己的努力,成为下一个优秀的程序员!另外博主的微信公众号是:C语言编程学习基地,欢迎关注!
|