为您找到"
可以对指针变量进行赋值吗,例如*p=1
"相关结果约100,000,000个
请分清“指针本身的值”和“指针指向的地址中的值”这两者的区别。指针本身的值就是地址。int a = 2;int *p = &a;//p = 100; //试图将指针本身的值修改为100,即令指针p指向内存地址100的位置,这是未定义行为*p = 100; //将指针p指向的地址中的值修改为100,即将a的值修改为100 ...
int year=2009;这是一条赋值语句,定义了一个int型的变量year 然后给这个变量赋值2009 p是一个int型的指针,这个语句是把year的内存地址赋给指针型的p 这个是*p=*p+1.是把p指针的指针位置加上一个int型的字节数,就是p指向下一个数据 先用*p的值,然后加上1 先加上1‘再用*p的值 和第四...
除了作为乘法符号外,也是解引符号,比如int *p, p是一个指针,给它赋址p=&a,这里a是一个变量(int a=2),p保存了a的地址,解引就是访问p所指向的变量的内容,意思是int c = *p, 和int c=a是一样的,*s是解引,访问它的内容,而且是访问当前指针指向的字符,s="BOOK"是赋值,把字符...
2、int (*f) (int x); /* 声明一个函数指针 */ 3、f=func; /* 将func函数的首地址赋给指针f */ 二、函数指针的用法:函数指针的应用:(*指针变量名)(参数列表)如:int c=(*ptr)(a,b);/* 函数指针 的使用*/ 在C语言中,函数本身不是变量,但是可以定义指向函数的指针,也称作...
因为C语言中,凡是以""括住的形式直接出现,而且你又没有为其分配内存空间的字符串都是常量字符串,是不能修改其值的。这样:char a[6]="hello";a[2]='c';就可以了。这里你为hello分配了一个长度为6的字符数组空间来存放。
这里p2,p1都是结构指针,其值就是结构变量的地址,或者说是某个链表节点的地址,p2=p1,就是让p2指向p1所指向的那个节点,也就是2和指针指向同一个节点,而节点本身数据不变。
语句里,若 p 是指针变量,p=a; *p 表示 值,把 变量 a 的当前值 赋给 指针。(指针指向的地址不变)。p = &a; p 表示指向的地址, 把 变量 a 的地址 &a 赋给 p, 也就是让指针指向 变量 a。例如:int a=2, b=3;int *p=&b; // 指针指向地址 初始化, 指向 b printf(...
2.2 指针是用来存放地址的变量,因此,我们可以用指针变量来存储数组的地址,如:int ai[10] ,*p=ai;2.3 而指针的赋值操作严格意义上来说要保持类型相一致才正确!如:int a[2][3],*p; p=a;(不合法) , p=a[0]合法2.4 对于二维数组,我们可以把它看成一个一维数组 ??为什么这么说?当然是为了好理解。二维...
这里定义的是int *p 所以p指针只能指向int型空间 sizeof(int) 求得int类型所占的字节数 malloc(sizeof(int)) 申请一个跟int所占的空间大小一样的空间 (int*)malloc(sizeof(int)) 将申请得到的空间地址转换成了int类型空间地址 最后就可以赋值给指向int型空间的p指针了 ...
1、D选项,*x本身就错误,因为x是int类型,没法使用*操作符。2、A之所以错是因为代码中有一句q=NULL,也就是说q是一个空指针了,你再向里面写东西就错了,而且你在vc6.0中可以试一下,马上会出现一条0xc000 0005的写异常。。3、是的,你不管给它赋值多少都是4的。。就好比一个4平方米的房子...