博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
字符数组 字符指针
阅读量:4319 次
发布时间:2019-06-06

本文共 1837 字,大约阅读时间需要 6 分钟。

指针是什么?说白了就是存放地址的变量!
 
#include 
#include
#include
int main(int argc, char* argv[]){ //初始化法一 char buff_first[4] = {'a', 'b', 'c'}; printf("buff_first %s\n", buff_first); buff_first[0] = 'd'; printf("buff_first change %s\n", buff_first); char buff_second[4] = {'a', 'b'}; printf("buff_second %s\n", buff_second); printf("buff_second[2] %s\n", buff_second[2]); printf("buff_second[3] %s\n", buff_second[3]); char buff_third[4] = {'a', '\0', 'b'}; printf("%s\n", buff_third); //初始化法二 char buff_fourth[4] = "ab"; printf("%d\n", strlen(buff_fourth)); //初始化法三 char buff_fifth[4] = {"ab"}; char buff_sixth[] = "abcd"; return 0;}
 

输出:

buff_first abc

buff_first change dbc
buff_second ab
buff_second[2] (null)
buff_second[3] (null)
a
2

 

 

#include 
#include
int main(int argc, char* argv[]){ char* pbuff; pbuff = "abc"; printf("pbuff %s\n", pbuff); printf("字符指针的地址&pbuff %x\n", &pbuff); printf("字符指针所指字符串常量的首地址&pbuff[0] %x\n", &pbuff[0]); pbuff = "cde"; //可以改变字符指针的指向。 printf("可以改变字符指针的指向pbuff %s\n", pbuff); printf("字符指针的地址&pbuff %x\n", &pbuff); printf("字符指针所指字符串常量的首地址&pbuff[0] %x\n", &pbuff[0]); //pbuff[1] = 'x'; //这句是错的,不能通过指针改变字符串常量 //即"abc" "cde"是两个字符串常量存在不同的内存区域中,字符指针可以指向这两个不同的字符串, //但不能改变字符串常量。 char buff[20] = "xyz"; printf("buff %s\n", buff); buff[1] = 'c'; //这里"xyz"是变量,可以改变。 printf("可以改变字符数组内的字符buff %s\n", buff); printf("字符数组名地址&buff %x\n", &buff); printf("字符数组首地址&buff[0] %x\n", &buff[0]); //buff = "ijk"; //错误,字符数组名是常指针,不能改变其指向。 return 0;}

 

输出:

pbuff abc

字符指针的地址&pbuff 12ff7c
字符指针所指字符串常量的首地址&pbuff[0] 42201c
可以改变字符指针的指向pbuff cde
字符指针的地址&pbuff 12ff7c
字符指针所指字符串常量的首地址&pbuff[0] 422ff4
buff xyz
可以改变字符数组内的字符buff xcz
字符数组名地址&buff 12ff68
字符数组首地址&buff[0] 12ff68

转载于:https://www.cnblogs.com/helloweworld/archive/2012/10/04/2711458.html

你可能感兴趣的文章
团队编程项目作业2-团队编程项目开发环境搭建过程
查看>>
Stax解析XML示例代码
查看>>
cookie
查看>>
二级图片导航菜单
查看>>
<Using parquet with impala>
查看>>
07-Java 中的IO操作
查看>>
uclibc,eglibc,glibc之间的区别和联系【转】
查看>>
Java魔法堂:找外援的利器——Runtime.exec详解
查看>>
mysql数据库存放路径
查看>>
TestNG(五)常用元素的操作
查看>>
解决 Visual Studio 点击添加引用无反应的问题
查看>>
通过镜像下载Android系统源码
查看>>
python字符串格式化 %操作符 {}操作符---总结
查看>>
windows 不能在 本地计算机 启动 Apache
查看>>
iOS开发报duplicate symbols for architecture x86_64错误的问题
查看>>
Chap-6 6.4.2 堆和栈
查看>>
【Java学习笔记之九】java二维数组及其多维数组的内存应用拓展延伸
查看>>
C# MySql 连接
查看>>
sk_buff Structure
查看>>
oracle的级联更新、删除
查看>>