當前位置:首頁 » 編程語言 » c語言求助地址
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言求助地址

發布時間: 2022-07-28 15:09:59

『壹』 c語言求助

你已經說了啊**k是指向指針的指針,即k是一個2級指針啊,舉個例子吧,你想問路,你問了張三,張三說他不知道,但是李四知道,然後你通過張三找到了李四,然後李四告訴了你你想去的地方在哪裡,這里張三就是k,李四就是p,k=&p,表示了k的值是p變數的地址

『貳』 c語言地址問題

首先,寫兩個程序,同一個編譯器運行的時候,編譯器不會允許不同變數,地址相同的,會提示地址佔用的,如果是一個程序中兩個變數一個地址的話,那就看當前地址的值了;
其次,變數地址相同,存的數不一樣的時候,以最後一次存的數為准,前面的數被覆蓋了。
希望我能幫到你

『叄』 c語言 地址問題

你要得到ELEM的地址,自然需要&,因為&是取地址命令啊~

『肆』 c語言求地址操作問題

str[i]和string[k+1]都是地址,因此地址賦值不需要地址符,直接賦值即可:

str[i]=string[k+1];

『伍』 C語言 求助

(1)為什麼第一個是44?
主函數在定義變數的時候,把指針a指向整型變數x在內存存放地址,指針b指向整型變數y在內存存放地址,然後調用子函數fun(),在調用時由於傳遞的是形參,子程序會給傳過來的參數重新分配內存,調用結束後分配的內存釋放。在子函數中,b賦值給a,也就是把a也指向y的內存地址,a和b都指向y的內存地址,當然列印出來就是44了。
(2)為什麼第二個是34?
由於主函數和子函數的a和b是不同的,返回後主函數的a和b的值並未發生任何改變,因此指針a還指向整型變數x在內存存放地址,指針b還指向整型變數y在內存存放地址,因此列印出來就是34.
(3)如果想讓子函數修改a和b的值怎麼辦?
那就可以定義全局變數a和b,就是在主函數之上加上int *a,*b。把程序修改如下:
int *a,*b;
void fun(int *,int *)
{a=b;printf("%d%d",*a,*b);
}

int main()
{
int x=3,y=4;
a=&x,b=&y;
fun(a,b);
printf("%d%d",*a,*b);
return 0;
}
運行後就是你認為的那個結果。

『陸』 C語言字元串地址引用問題,求助!

改成data[len1]-'0'

『柒』 c語言求助!知道數組首地址怎麼求出數組元素地址

單維數組名就是首地址,多維數組名就是第1維的首地址,因此取首地址,可以把數組名賦給對應的指針變數,或取索引為0的首個元素地址賦給對應的指針變數。舉例:
單維
int
arr[10];
int
*
p
=arr;

int
*
p
=&arr[0];
二維
int
arr[10][10];
int
(*p)[10]
=arr;
或int
(*p)[10]
=
&arr[0];//
取第一維地址
int
arr[10][10];
int
*
p=
&
arr[0][0];
//
取多維中的首個元素

『捌』 c語言 求助 二維數組 每行的首地址

你的理解是對的!
比如a[2][3]=[1,2,3,4,5,6],那麼*a[1]=4,*(a[1]+2)=6

『玖』 C語言數組地址問題

解釋如下:

&a,*a,a,a[0]——都表示的是數組第0行第0個元素的地址;

*a[0]——這個特殊,表示第0行第0個元素的地址的地址;

a[2],&a[2]——都表示第2行第0個元素的地址;

&a[2][2]——表示第2行第2個元素的地址;

詳見圖片,我已經把數組中主要元素的地址和值都列印出來了,數組中對應的每個元素的地址寫出來了,對照的找下對應元素的位置,應該能理解&a,*a,a,a[0],*a[0],a[2],&a[2],&a[2][2]是什麼意思了

#include<stdio.h>
#include<stdlib.h>

intmain()
{
inta[3][4]={
{1,2,3,4},
{5,6,7,8},
{9,10,11,12},
};

printf("&a十六進制地址是%p,十進制是%d ",&a,&a);//數組名,a[3][4]
printf("*a十六進制地址是%p,十進制是%d ",*a,*a);
printf("a十六進制地址是%p,十進制是%d ",a,a);
printf("a[0]十六進制地址是%p,十進制是%d ",a[0],a[0]);
printf("*a[0]十六進制地址是%p,十進制是%d ",*a[0],*a[0]);
printf("a[2]十六進制地址是%p,十進制是%d ",a[2],a[2]);
printf("&a[2]十六進制地址是%p,十進制是%d ",&a[2],&a[2]);
printf("&a[2][2]十六進制地址是%p,十進制是%d ",&a[2][2],&a[2][2]);

printf("數組a[3][4]首元素a[0][0]的地址是%p,首元素a[0][0]的值=:%d ",&a[0][0],a[0][0]);
printf("數組a[3][4]首元素a[2][0]的地址是%p,首元素a[2][0]的值=:%d ",&a[2][0],a[2][0]);
printf("數組a[3][4]首元素a[2][2]的地址是%p,首元素a[2][2]的值=:%d ",&a[2][2],a[2][2]);
printf("一個int整型變數占的位元組是:%d",sizeof(int));
return0;
}

『拾』 C語言輸出地址問題

首先,printf("i的地址為:%p",i);不是輸出地址,而是輸出i的值,但是會以16進制輸出。
如果輸出i地址,應該是 printf("i的地址為:%p",&i);
而%d就是以十進制輸出i的值