c语言中的字符指针
Ⅰ c语言字符串指针
数组是指一段连续的存储空间,数组名是其开始的地方,string是指针变量,指向字符串数组,亦即是其首地址,printf("%s",string);输出的是从首地址开始往后存储空间内的东西,直至'\0'结束。
Ⅱ c语言字符串指针
字符串指针与字符串数组一样是有长度的哦。
Ⅲ C语言字符指针怎么输入谢谢
可以参考下面的代码:
#include <stdio.h>
#include <string.h> // 要用尖括号
intmain()
{
char*str;
str = (char*)malloc(sizeof(char) * 20); // 申请20个char长度的空间
scanf("%s", str); //输入
printf("%s ", str); // 输出
free(str); // 释放空间
return0;
}
(3)c语言中的字符指针扩展阅读:
字符指针注意事项:
在字符指针中p是指针变量指向字符串首元素(前提对p指针没有进行指针操作),p中存放首元素的地址(一旦被初始化就,系统就为我们分配好了地址,而且地址也不能改变,因为字符指针是一个只读变量,不能企图对一个初始化好的指针进行内部修改)
而*p是对指针变量p进行解引用操作,也就是指针所指向的内容,而&p是对指针变量取地址,所以也就肯定不会和p的值相等,因为字符指针系统会为其分配内存,p的值是字符串首元素的地址。
Ⅳ 关于C语言的字符串指针的问题
如果输入12345,那么p指向1,即p中存放着1的地址。没有字符串的指针和指针指向的内容不能修改一说。无论什么类型的指针,只要是“常指针”就有三种情况不可改变:
指针是常量——这个指针只能指向申明时指向的目标,不能指向别处。
指向的内容是常量——不能通过这个指针改变指向的内容,但指针可以指向别处,也可以通过其他方法改变该指针指向的内容。
指针和指向的内容都是常量——这时指针不能再指向别处,它指向的内容也不可通过这个指针修改(用其他方法修改内容仍然是可以的)。
数组名是常量指针,所以指针不能再指向别处(即改变指向)。
这个问题中,p是普通指针,所以可以改变指向;p指向的内容是由malloc申请的自由空间,所以它们的内容肯定是能够改变的,否则申请这个空间就没有多少意义了。