アドレスの戻り値が期待するものにならないため、質問をさせてください。
下記のようにmain.cとsub.cを作りました。
main.c内でpointerは0x7ffffffed211を受け取ることを期待したのですが、
なぜか0xfffffffffffed211を受け取ります。
なぜアドレスが変わってしまうのでしょうか。
main
1int main() 2{ 3 unsigned char test[100]; //0x7ffffffed210が先頭メモリ 4 unsigned char *pointer; 5 6 pointer = move_add(test); 7 printf("%p\n",pointer); //0xfffffffffffed211 8 return 0; 9}
sub
1unsigned char *move_add(unsigned char *recv_p) 2{ 3 recv_p++; 4 return recv_p; //0x7ffffffed211 5}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/02 16:12
2020/05/03 01:30