『壹』 c語言地址

不同的編譯器給int型變數分配的內存是不一樣的,在VC中,給int型變數分配4個位元組的內存,而因為數組是一片連續的存儲單元,所以每相隔一個元素,內存地址相差4.
同理,如果是字元型的變數,則相差1。

『貳』 C語言的地址是什麼類型,用%d還是%ld輸出

地址是內存單元的編號
是一個非負的整數
如果計算機是地址線是32位的
那麼范圍就是32個0到32個1

當你要輸出地址時,
也就是要輸出在這個范圍之內的數

所以可以用%d或%ld

但是一般用16進制輸出
16進制輸出也有很多種
但本人認為最規范的方式是採用大寫

即 「%#X」

供參考!

『叄』 C語言中變數的地址是什麼類型的

變數的地址,在C語言中,一般寫作指針類型。
不同類型的變數地址,用不同的指針進行保存。
比如,char 類型的地址,使用char*保存,而int型地址,用int *保存。

除此外,部分情況下也會採用整型類型來保存變數地址,具體使用何種整型類型,取決於編譯器:
1 16位編譯器,地址佔16位,2位元組,可以使用short或者int保存。
2 32位編譯器,地址佔32位,4位元組,可以使用int或long保存。
3 64位編譯器,地址佔64位,8位元組,可以使用long保存。
不過不推薦使用整型類型保存地址,會帶來移植上的不通用。

『肆』 計算機c語言中什麼是地址

演算法就是一種數學上的意思了~
具體延伸就很多了~比如各種排序,各種二叉樹,各種鏈表。
說白了就是制定一個框架來方便我們寫代碼~

『伍』 C語言用什麼操作地址

C語言使用指針指向需要操作的地址,來對目標地址進行讀寫

『陸』 C語言中,什麼是地址值

地址值就是內存單元地址。
例如:
int a,*p,b[10];
scanf("%d",&a);
p=a;

指針變數p存放的就是地址值,是整回型變數a分配到的內存單元答地址。
數組名b也有一個值,它的值就是分配到的10個整型數存放單元的首地址,也是一個地址值。

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

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

『捌』 c語言 字母地址

字元的計算是用它對應的ASCII碼進行計算。
c2='e'; ASCII碼是101

c1='b';ASCII碼是98
所以c2-c1=3
又是%d輸出,所以第一個輸出的就是3
c2-『a』+A,這里的A沒有單引號,編譯器會把它認為是一個變數,而之前沒有定義A,所以會報錯說A沒定義。
如果有單引號,即c2-'a'+'A',那還是用它們各自的ASCII碼進行計算。
e 對應101
a 對應97
A 對應65
所以最終結果是69
而輸出格式是%c,所以要找69對應的字元,是E,所以最終輸出大寫字母E

『玖』 C語言中取地址的符號都有哪些

& 是 取地址的運算符號

int *p; -- 這個 星號 只是聲明,表示 p 是指針。
*p = 123;
k = *p + 456;
-- 語句里出現 *p 這個形回式,不同於聲答明中的這個形式。(外貌一樣,意思不同)這個 *p 相當於 值,不是地址。
語句里出現 p 才是地址。聲明為指針的p,沒有 &p 形式!

int x; 聲明x是簡單變數.(當然不是指針)
&x -- &是 計算地址,&x 是 x 的地址。 (簡單變數才有 &x)

『拾』 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;
}