怎样理解“能赋给指标变数的唯一整数是地址这句话”
怎样理解“能赋给指标变数的唯一整数是地址这句话”
“能赋给指标变数的唯一整数是地址”。这句话表达了2个意思。第一,给指标变数赋值的一定是地址;第二,一定是整数。因为地址是整数。比较指标变数 int *p; 那么p是一个指标变数,给它赋值必须是地址。 p = (int *)0x10000;
C++可以赋给指标变数的唯一整数是什么?
都可以,不过很有可能指向的位置已经使用,那么你再对其操作就会发生严重问题 你说的应该是初始化,一般赋为NULL(也就是0),指向为空
整数0是c语言系统唯一一个允许赋给指标型别变数的值 这句话怎么理解 如果一个变数的地址是3000那
系统记忆体使用是作业系统规定的,如果你希望直接操作记忆体,就必须了解系统的记忆体的分配情况,否则造成的损失可能是致命的。你的举例是不完整的,如果说*point_1=100是非法的,完整语句应该是int *point_1=100,之所以非法是因为100不是使用者可以操控的记忆体区域。*p = 1之所以数合法的,是因为将p所指的记忆体赋予整数1,例如Int a;int *p = &a;*p = 1; 等价于赋值语句a = 1,
将函式funl的入口地址赋给指标变数的语句是
如果用该型别函式指标可直接赋值,否则其他型别强转即可
如:
char * ptr =(char*)funl;
阵列只能把首地址赋给指标变数 ?
不是的
main()
{
int a[5]={11,22,33,44,55},*point;
point=&a[3];
printf(\"%d\",*point);
}
如何把指标变数的值赋给阵列
for(i=0,p=&a[0];i<5,p<=&a[5];i++,p++)
{
for(j=0;j<4;j++)
{
s=s+cj[i][j];
}
ave=s/4.0;
*p=ave;
}
我把楼主的程式做了一点修改,在开始已经把a[0]的地址赋给了p,而p++又把指标指向了下一个a阵列成员,所以直接用*p来接收赋值,相当于给阵列a的各个成员赋值了
指标变数的值指变数的值还是地址
看一下定义就会知道
指标变数 就是储存“地址”的变数
int *p ; p 是指标变数,他用来储存地址,他的值就是个地址值!
在没有给p赋值时,一般它的值是0或是一个不确定的值,这时的指标变数是不能使用的!称之为野指标。
怎么求指标变数的地址?
需要给指标赋值,比如*p=a,假设a在记忆体中的地址是0x20000000,由于p指向a,所以的p的地址也是这个
把指标变数的值赋给阵列的问题?
a是你定义的阵列,在编译阶段它的地址就确定了,此后就不能再给a赋值了,另外&操作符只能作用于"右运算元",即&a之类的,只能出现在二元操作符右边.&a[0]=*p是有语法错误的.
------------------------------
#include <string.h>
#include <stdio.h>
int main(void)
{
char input[50] = "abc,d,eee,fff,ggg,hhh ";
char *p;
char a[6][50];要储存六个字元号串必须定义char型别的二维阵列
int i,len;
memset(a,0x0,sizeof(a));
p = strtok(input, ", ");
i = 0;
while (p)
{
要存放字串,必须使用strcpy()或者memcpy()函式,不能直接这样用等于操作符
二维阵列每行都是一个字串
strcpy(a[i],p);
p = strtok(NULL, ", ");
i++;
}
for ( int i = 0 ; i < 6 ; i++ )
{
printf( "%s\n ", a[i]);
}
fflush(stdin);
getchar();
return 0;
}
指标变数的值和指标的地址一样吗
不一样啊 指标变数的值是某个变数的记忆体地址 而指标的地址是指指标所在的记忆体地址
2024-08-26 广告