↑の回答ありがとうございます。
構造体のアドレスについての質問なのですが

#include<stdio.h>
struct k{

int a=0;
char *c;
int b=0;
}A;

int main(){

int adder1=(int)&(A.b);
int adder2=0;
struct k *p;

A.c=(char *)malloc(40000);

adder2=(int)&(A.b);

if(adder2==adder1){
printf("hoge");
}

(*p)=A; /**この文はOK?事前にmalloc必要?**/

}
hogeは出力されますか?
また構造体のポインタを宣言した後にmallocする必要はありますか?↓