c语言中如何借用指针输出字符串
发布时间:2025-05-14 02:26:22 发布人:远客网络
一、c语言中如何借用指针输出字符串
使用指针输出字符串有以下几种方式:
1、使用printf函数进行输出,其使用的格式转换符为%s,如
char*str="test";//指针指向一个字符串
printf("%s\n",str);//输出str指向的字符串
puts(str);//输出str指向的字符串,会自动多输出一个换行
voidmyPuts(char*str)//自定义输出函数
1、C语言里没有字符串数据类型,要想获得字符串的表示形式利用字符数组
char ar[]={'a','b','c','d'};
cout<<ar;//字符串后无结束符\0,会有多余打印
char br[]={'a','b','c','d','\0'};
char cr[5]="abcd";//字符串结尾默认隐藏了\0
2、C语言里没有字符串数据类型,要想获得字符串的表示形式利用字符指针
//整形的指针,打印指针时只能打印其内部地址
//字符指针,打印指针时也是地址,但是这个被看作字符指针后,会打印该指针指向地址内存放的字符串,打印直到遇到\0为止
3、静态常量区的字符串存储及指针访问
char*p="hello world";//hello world存放在内存的静态常量区
//指针变量p存储的是该静态常量区的首个字符地址
//不能通过指针修改静态常量区的字符,但是可以通过指针访问
//strlen计算的是字符串p的有效长度,不算\0
二、C语言中printf中%c是什么意思
这是C语言的格式输出,%c,%y这些代表你要输出的数据的数据类型;%d表示输出十进制有符号的整数。
6、%e表示输出指数形式的浮点数。
7、%x,%X表示输出无符号以十六进制表示的整数。
8、%0表示输出无符号以八进制表示的整数。
9、%g表示输出自动选择合适的表示法。
5、\xhh表示一个ASCII码用16进表示,其中hh是1到2个16进制数。
长度格式符为h、l两种,h表示按短整型量输出,l表示按长整型量输出。
double x=0.12345678912345678;
三、C语言中变量指针输出问题
1、假设字符串"this is a book"的地址分布如下:
2、此时有char*ps="this is a book";由于ps是char类型指针变量,它的指针域只能保存地址,我们知道"this is a book"是一个字符串数组且拿到了首元素的地址就可以找到它整个字符串,所以ps的指针域保存了首字符的地址即t的地址0030F8B0,而格式输出符%s,就是输出字符串之意,即从t开始输出直至遇到\0符为止。
3、如果有printf("%c\n",*ps);则取ps所指向的地址0030F8B0的值即字符t,换句说就是ps代表指针域即地址0030F8B0,再加上“*”就是取值的意思,合起来就是取地址0030F8B0的值即字符t.