- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
009-指针5月16日更新比老谭还要通俗易懂
指针;第九章 指针;第九章 指针;9.1 指针与指针变量;9.1 指针与指针变量;9.1 指针与指针变量;9.1 指针与指针变量;9.1 指针与指针变量;9.1 指针与指针变量;9.1 指针与指针变量;9.1 指针与指针变量;9.1 指针与指针变量;9.1 指针与指针变量;9.1 指针与指针变量;9.1 指针与指针变量;9.1 指针与指针变量;9.1 指针与指针变量;9.1 指针与指针变量;9.1 指针与指针变量;基本运算辨析
int x=10, y=5, *p=x, *q=y;;9.1 指针与指针变量;9.1 指针与指针变量;9.1 指针与指针变量;第九章 指针;9.2 指针与函数;9.2 指针与函数;例:交换;用指针完成两数的交换; 数组名、指针、形参、实参;fun(char str[ ])
{ }
main()
{ char s[10]=“abc”;
fun(s);
};9.2 指针与函数;9.2 指针与函数;9.2 指针与函数;9.2 指针与函数;9.2 指针与函数;第九章 指针;9.3 指针与数组;9.3 指针与数组;9.3 指针与数组;9.3 指针与数组;9.3 指针与数组;9.3 指针与数组;9.3 指针与数组;9.3 指针与数组;9.3 指针与数组;例:编写函数,实现字符串复制
main( )
{ char a[30], b[30];
printf(Enter string:);
scanf (%s, a);
stringcpy ( a, b ); /*调用函数的实参为数组名*/
printf (a=%s\nb=%s\n, a, b );
}
stringcpy ( str1, str2 ) /*将串str1拷贝到串str2中*/
char * str1, * str2; /*形参为指向字符的指针*/
{ while ( (*str2 = *str1)!=‘\0’)/*通过指针操作数组*/
{ str1++; str2++;
}
};对上述复制函数的改进
原循环语句:
while ( (*str2 = *str1)!=‘\0’)
{ str1++; str2++;
}
改进1:
while ((*str2++ = *str1++)!=‘\0’);
改进2:
while (*str2++ = *str1++);例:编写函数,实现两个字符串的连接。
char *stringcat(str1,str2)
char *str1, *str2;
{ char *p=str1;
while ( *p!=‘\0’ ) p++;
while ( *p++ = *str2++ ) ;
return str1;
}
main( )
{ char a[50], b[30];
printf(Enter string 1:); gets(a);
printf(Enter string 2:); gets(b);
printf(a+b=%s\n, stringcat(a, b) );
};9.3 指针与数组;基本运算辨析
int x=10, y=5, *p=x, *q=y;; 空指针 NULL
NULL 具有特殊的含义:表示指针没有指向任何对象;
任何指针p与NULL进行“p==NULL”或“p!=NULL”运算均有意义:判断指针 p 是否指向空;
使用NULL时要include stdlib.h。
void型指针 无指定类型的指针
;申请及释放内存函数 (malloc、free)
void * malloc ( unsigned size )
功能:申请长度为size字节的内存区。申请成功,函数返回所分配的内存区首字节的地址,即指向该内存的指针;申请失败,函数返回NULL。
void free ( void * p )
功能:释放p所指的内存空间。
举例: int * p;
p = malloc( 10 * sizeof(int) );
…
free(p);;例:编写函数,实现字符串反序
revstr ( char * s ) /* 将串s反向 */
{ char *p=s, c;
while ( *p )
p++; /* 找到串结束标记\0 */
p--; /* 指针
文档评论(0)