我们现在有一个指针类型的变量了,里面有一个值,比如0x0000吧,我们就说这个指针指向0x0000这个单元,这个很好理解,指针里面就是地址嘛,地址就是指向个某个地方。 我们通过变量名指名道姓的去访问一个变量的方式叫直接访问,我们通过指针,通过地址访问的方式叫间接访问,为什么呢?因为通过指针,要先有指...
6.将一个字符串常量赋给一个字符指针,如:char *cp = “abcdefg”; 对指针进行初始化或赋值的实质是将一个地址或同类型(或相兼容的类型)的指针赋给它,而无论这个地址是怎么取得的。要注意的是:对于一个不确定要指向何种类型的指针,在定义它之后最好把它初始化为NULL,并在解引用这个指针时对它进行检验,防止...
从前面可以看出,指针确实可以指向字符串并操作字符串。不过前面的做法是:先定义一个字符串数组存放字符串,然后将数组首地址传给指针p,让p指向字符串的首字符。 1.我们也可以直接用指针指向一个字符串,省略定义字符数组这个步骤 1 #include <string.h> 2 3 int main() 4 { 5 // 定义一个字符串,用指针s指...
char *cp = “abcdefg”; //这个初始化过程,是将指针cp指向字符串的首地址,而并不是传递字符串的值。因为,在C语言里面,没有整体处理一个字符串的机制 赋值: cp = “abcdefg”; *cp=”abcdefg” ;//错误!字符串常量传递的是它的首地址,不可以通过*cp修改该字符串的值,因为该字符串为常量,而它只是简单...
char* pre(char* a) //一个修改传入字符串首字符为0的函数{ a[0]='0';return a; //返回修改后的首地址,直接返回a,此时返回的a指针指向的地址与main函数中s指向同一个地址。也就是void* f指向的地址与s数组的地址相同。}int main(int argc, char *argv[]){char s[20]={"\...
const char* p = "hello boy";//"hello boy"是一个常量字符串 //上面表达式的作用是:把常量字符串“hello bit”的第一个字符h的地址赋给p(指向首字符地址) return 0; } 【注意】 代码char* pstr = “hello bit.”; 特别容易让同学以为是把字符串 hello boy 放到字符指针 ...
在指针当中的类型中我们知道有一种指针类型为字符串指针char*; 可以通过两种方法来访问一个字符或者是字符串。 1、第一种就是使用字符数组来存放字符串或者字符来实现操作。 2、下面所介绍的就是使用字符指针指向一个字符串,此时可不能定义数组。 一般的使用方法如下👇 ...
将指针变量指向字符串的方法如下: 1. 在数据定义语句中用赋初值的方式:*指针变量=字符串; 2. 在程序中用赋值的方式:指针变量=字符串; 需要注意的是,这两种方法并不是将字符串赋予指针变量,而是将存放字符串的连续内存单元的首地址赋予指针变量。 当指针变量指向字符串时,则可以利用指针变量处理字符串,处理方式有...
指针变量p指向一个字符串数组,那么p就保存了这个字符串数组的首地址,*p就是取首地址的内容,即字符串数组的第一个字符