c语言通讯录程序设计个人感言,C语言学习感悟(1)

今天学习下,为什么指针变量也可以存储字符串,难道不是只存储指针么?

#include

#include

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

void main(int argc, char *argv[]) {

int i=3,j=5;

int *p,*q;

p = &i,q=&j;

float a=5.8,b=7.9;

float *c,*d;

c = &a,d = &b;

char m='I',n='l';

char *x,*y;

x=&m,y=&n;

printf("i=%d,j=%d\n",*p,*q);

printf("a=%f,b=%f\n",*c,*d);

printf("m=%c,n=%c\n",*x,*y);

}

8c2d9c33b718?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

感悟.png

代码里面int *p, *q表示的是指针变量,就类似java里面的int a一样。p,q里面保存的都是指针的地址形如0x1111这样的地址。如果我们需要打印数据如这样printf("i=%d,j=%d\n", *p, *q); *p, *q我们可以理解为取地址所指向的内容。

如果你的指针变量是这样的

char buf[]="fadfdsew";

char *p=buf;

p="eqewq";

printf("%d\n",p);

printf("%s",p);

8c2d9c33b718?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

指针变量被赋值字符串.png

像上面这样我的指针变量改变了,变成eqewq。如何理解与我前面所写的 p=0x1111 这样的呢?

int i=3

int *p;

p = &i

大家看到没,我是取i的地址放到p里面,如果我们printf("%d",p),会打印0x1111 ,下面这个我是把"eqewq"放到指针变量里面,它在这里面做了什么工作呢?一共有3件事:

1.申请了空间(在常量区),存放了字符串

2.在字符串尾加上了'/0'

3.返回地址

指针获取的是字符串首字母e的首地址,当用%s输出时,在输出前一个字符的同时指针会自动跳到下个字符的地址处,直到遇到'/0'停止,所以%s可以输出一个字符串.

char buf[]="fadfdsew";

char *p=buf;

p="eqewq";

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
通讯录程序设计是一种用C语言编写的程序,用于管理个人联系信息。根据引用\[1\]中的代码片段,该程序包含了输入函数`write()`、`write1()`和`write2()`,以及输出函数`show()`。输入函数用于接收用户输入的联系信息,包括姓名、家庭电话、地址、邮编和E-mail。输出函数用于显示已输入的联系信息。 在程序中,`write()`函数通过调用`write1()`函数来实现循环输入联系信息的功能。`write1()`函数根据用户输入的选项,调用`write2()`函数继续输入信息,或者调用`next()`函数停止输入。`write2()`函数用于接收用户输入的具体联系信息,并将其存储在相应的数据结构中。 另外,根据引用\[3\]中的代码片段,输出函数`show()`用于显示已输入的联系信息。它通过循环遍历存储联系信息的数据结构,并将每个联系人的信息逐行输出。 总结来说,这个C语言通讯录程序设计包括了输入函数和输出函数,通过用户输入来管理个人联系信息,并可以显示已输入的信息。这样的程序设计可以帮助用户方便地管理和查看联系人的信息。 #### 引用[.reference_title] - *1* *2* *3* [C语言课程设计_通讯录管理系统](https://blog.csdn.net/NBITer/article/details/128591706)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值