1.p=&a;是取地址,那如何在取地址之后通过p或是*p改变a里面的值呢?可以通过p或者*p改变a里面的值吗?
2.int (*p)[ ] int *p();和int (*p)(); const int *p和int *const p都是什么意思呢?
一.
1.是我的做法不对吗,输出的结果是 8 能把过程截成图片发一下吗
2.这个0001是按照二进制规律的吗?
二.
1.int (*p)()是一个函数的“函数指针” 指针指向的值无法改变,但是“指针本身可以改变”,可以重新指向一块内存 指针不能改变,但它指向的值是可以改变的 这三句话引号部分能不能再详细解释一下。。
二/十进制的转换你可以百度一下,
函数指针就是这个函数在内存的地址
指针就是内存地址,指针可以变,就是他能指向另一块内存,比如AB两盒子,本来指向A,现在改成指向B;常指针指向的内存地址不能变,比如AB两个盒子,p永远只能指向A,不能认为的把它改成B,值即为A盒子内装的东西,装什么由你定,你可以装水,也可以装米
C语言指针问题
一、如有定义char y[4]= "321"则表达式 *y+2的值是'5' 。分析:y是字符串数组首元素'3'的地址,*y的值就是字符'3',再加上2,就是字符'5'(也可以说是字符'5'的ASC码值)。二、 如有定义char z[2][4]={"MAT", "LAB"};,则表达式*(*z+2)的值是 'T'。分析:z是二维字符...
C语言中的指针问题到底是怎么回事~
指针所指向的内存区就是从指针的值所代表的那个内存地址开始,长度为sizeof(指针所指向的类型)的一片内存区。以后,我们说一个指针的值是XX,就相当于说该指针指向了以XX为首地址的一片内存区域;我们说一个指针指向了某块内存区域,就相当于说该指针的值是这块内存区域的首地址。 指针所指向的内存区和指针所指向的...
C语言指针问题
假如 P 是指针 那么 *p 就代表变量。 而&a是地址, *p=&a 就是把地址给变量,当然不正确了,因为地址只能给指针。p2,*p1都是变量,变量之间互相赋值是正确的。“原因是被赋值的指针变量前不能再加*说明符”这句话的意思是:如果 给 指针P加上“*”,那么它就变成 了变量,代表的意义...
c语言 指针问题 有点看不懂 能帮忙解答一下正确答案中的 每一步运算...
答案为B
c语言指针问题,求解答
A、D定义为:A 定义指向函数的指针pf,所指向的函数参数为空,无返回值 D 定义指向函数的指针pf,函数参数为int,char型(不符题意,题目为int,char*),无返回值 B、D的定义为:定义函数pf,函数参数为空,返回类型为void *(void 型指针)单从函数指针的定义可排除BCD。其次,指针赋值 函数名与...
C语言指针问题。
(1) ++(*pointer)是先取值,再自增,当前pointer指向的是位置arr[3],取值后是2,*pointer的结果是2,2再自增,当然会得出3。值得说明的是,这个括号是可以省略的,此处括号只起到增加程序可读性的作用。(2)*(pointer-2)是先移动指针,再取值。pointer-2是把指针从当前位置arr[3]回退两...
c语言指针问题
(2),对于*P1=*P2 操作之前,一定要先将P1和p2先指向变量。还有*p=3之前,也要先把p指向一个变量。指针就是一个指向地址的变量,使用之前需要先给它赋值,也就是先将将一个变量的地址赋值给它,这个时候指针里面存的就是这个变量的地址。理解了指针的概念,上面这些问题就好理解了~...
问两道有关c语言字符指针的问题,请将程序每一步的意思告诉我,谢谢啦...
第一题答案:B。理由:*s与*t都是取出此时地址存储的值,while()语句里面的意思是,当指针s与t都不为空并且s指向的值等于t指向的值。。。当s或者t为空或者t与s指向的值不同时,while()结束,返回此时s指向的值减去t指向的值,所以为比较两个字符串的大小;第二题答案:A。理由:x的地址赋值...
初学C语言对C指针的疑惑
&是C的取地址运算符。3、我想在你对汇编很熟悉的基础上,通过上述说明,不难体会定义指针的数据类型对于指针的作用了吧,也就是说某一种数据类型的指针在一般应用情况下,只用于记录具有相同数据类型变量和存储空间的地址。这部分东西本身就是不容易理解,不知道说了半天是不是能帮上你一点。我想你有...
C语言指针问题
1.概念问题:指针是指存放地址值的变量或常量;指针与一般变量或常量的区别,在于它不直接存储数值,而是存放被存储数值的地址,属于间接存放,所以不少初学者感觉学习困难。 比如:int a=2,b,c,*ptr; ptr=&a;表示将指针ptr指向变量a,存放a的地址,假设是2000H,而指针变量ptr本身也要有地址,...