C语言入门学习——指针的指针、结构体(2025.1.22)

一、string相关函数注意


        对于指向同一字符串的字符指针,不可使用strcat,strcpy等函数,自己对自己进行拼接或复制,否则会进入死循环,因为字符串终止的标志\0被覆盖掉了。例如:

char *p = "ABC";
char *q = "ABC";
strcat(p,q);   //错误,栈区爆满而崩溃

 二、字符型指针数组


        数组的每一项都装着指针的数组,每个指针都指向字符串常量区中某个字符串常量的首字母地址。例如:

char *stc[] = {"Hello","World","China"};
int len = sizeof(str) / sizeof(*str);
int i;
for(i = 0;i < len;++i)
{
    puts(str[i]);
}

三、二级指针


        二级指针,即指向指针的指针,指向的内容依然是个指针。因为函数间只能进行值传递,若想在被调函数中修改主调函数,则需传递其指针(即指针传参),若本来所传递的内容便是指针,则需要传递指针的指针。例如:

 四、结构体


        C语言允许用户自己定义一种数据结构,称之为结构体。例如:

        如图,便声明了一种名为struct Student的结构体类型。注意结尾与函数声明相同,结尾都要加上分号,结构体名中Student首字母一般需大写

        同事,与函数相同,结构体之间也可以相互嵌套。例如:

        如图,Date是一种名为struct Birthday的结构体变量。向结构体中的每一项输入内容时需要使用指针箭头指向具体某一项。例如:

交换函数、倒序函数:

 选择排序(按名字):

选择排序(按分数):

二分查找法(按名字):

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值