공유메모리 shmat함수에 두번재인자를 사용에 관한 궁금합니다.

dbflwon의 이미지

공유메모리에 대해 살펴보다 궁금증이
생겨서 질문드립니다.
void *shmat(int shmid, const void *shmaddr, int shmflg);
여기서 shmaddr에 0이 아닌 특정 주소값을 주게 되는 경우와
아닌 경우에 차이점이 궁금합니다.
선배님들의 가르침 부탁드립니다.