区分指针变量和普通变量。 指针变量:存储变量地址的变量。 普通变量:存储变量值的变量。 区分指针说明符和指针变量名。 指针说明符:* 指针变量名:p 指针变量的类型 必须指定指针变量的类型。 指针变量只能指向同类型的指针变量。 指针变量的值 指针变量的值必须是地址。 定义指针变量后,必须赋值后才能使用。 📝 ...
可以,但int *p;*p=7;这样不行。因为“能直接给指针指向的数据”赋值,而这里的p还没有指向,所以不能赋值,这种指针有个名字叫“悬浮指针”,是不能给它赋值的。这样才可以:int a,*p=&a;*p=7;实际上就是使a等于了7。扩展资料:注意事项也可以使用赋值运算符为指针变量赋值,但要保证两个指针变量的类型...
定义了指针变量之后,我们需要给它一个初始值,也就是让它指向某个具体的内存地址。这个过程叫做初始化。例如:```c int a = 10; int *p = &a; // 让p指向a的内存地址 ``` 这里,`&a` 取得是变量a的内存地址,然后将这个地址赋值给指针变量p。 指针运算 赋值运算 指针的赋值运算非常简单,就是将一个指针...
一、指针的赋值例如:int * p; int a=3, b=4; p= &a; / /指针p 指向变量 a 的地址。 p=&b; / /指针p 重新指向变量 b 的地址。二、注意点指针变量也是变量,可以以装别的地址,但是要是同类型的。重新赋值,也叫重新指向。总结指针这方面知识比较难,大家一定要好好...
同类型的指针赋值: int val1 = 18,val2 = 19; int *p1,*p2; p1 = &val1; p2 = &val2; p1 = p2; //注意啦,p1指向了val2,而没有指向val1 备注:字符串与指针的初始化和赋值 初始化: char *cp = "abcdefg"; //这个初始化过程,是将指针cp指向字符串的首地址,而并不是传递字符串的值。因为...
test.c:25: 警告: 赋值时将指针赋给整数,未作类型转换 test.c:29: 警告: 传递参数 1 (属于 ‘display’)时将整数赋给指针,未作类型转换 其中21-25就是 set[0] = h; set[1] = e; set[2] = l; set[3] = l; set[4] = o; 29是 ...
指针变量赋值代码段:int a,*p1,*p2;p1 = &a;p2 = p1;变量和指针变量可以在同一行语句中声明,指针变量需要在名称前面加“*”。指针变量p1的值为变量a的内存地址,p2 = p1赋值语句将p1的值赋值给p2,此时p1和p2都指向变量a的内存地址。加减算术运算 指针变量存储的是其它变量或程序对象的内存地址,内存...
对于函数指针的赋值:函数名是一个地址,可以将他赋值给一个指向函数的指针。前面加了&符号其意义是一样的。比如定义一个数组arr[],arr表示这个数组的首地址,但&arr同样表示他的首地址。 对于函数指针的调用:比如你定义一个字符串指针char *str, 输出str 他并不是输出了地址,而是输出存在该地址的值。
一个函数总是占用一段连续的内存区域,函数名在表达式中有时也会被转换为该函数所在内存区域的首地址,这和数组名非常类似。我们可以把函数的这个首地址(或称入口地址)赋予一个指针变量,使指针变量指向函数所在的内存区域,然后通过指针变量就可以找到并调用该函数。这种指针就是函数指针。
在执行了Child* child_1=(Child*) father后,我们使用了一个Child*类型的指针指向了father指针所指向对象的内存空间。这个Father类型对象内存空间 只记录了a,b两 了这个内存空间之外,所以c的值是一个不确定的整型数。 这也是使用C++指针容易出现的错误之 3)对象指针的赋值: 对象的赋值尚好理解,重点问题在于对象指针...