한번만 봐주세요~!!(재수정!! 코드 넣어서)
흰두루
질문 제목 : 메인함수 배열값 다른 함수에 적용후 다시 메인함수로 리턴a 함수 에서 처리 하연 리턴값을 배열로 해서
메인 함수에 넣어주고
그리고 다시 함수 b에 메인 함수에 배열을 인자로 넣고
b함수에 리턴값을 다시 메인함수 넣고 싶습니다.
왜 안될까요??
질문 내용 :
#include stdio.h
#include stdlib.h
#include time.h
#include string.h
#include math.h
#define Number 100 // uniform random data 생성 수
#define I Number/2// modulation 된 캐리어 웨이브 수
#define PI 3.14 // 파이(원주율)
int a;
int i;
double* generator(void); // bit 생성기 함수 설정
double* QPSK(double *p);
int main()
{
double *bit_stream; // 비트 스트림이라는 더블형 포인터 변수 생성
double *odd;
bit_stream = generator();// bit stream 포인터 변수에 generator 함수 리턴 배열 값 저장
for(i = 0 ; i I ; i ++)
{
odd = QPSK(&bit_stream[i]);
printf(%1.f, odd[i]); ==== 여기서odd 배열 저장된 값이 한개 만 나옵니다 ㅠㅠ 저는 odd 배열 전체 나오게 하고 싶은데
}
return 0;
}
double* QPSK(double* p)
{
i = 0;
double *odd = (double*)malloc(sizeof(double)*I);
for(a=0 ; a Number; a = a+2) // 전체 비트열에서 홀수 비트 odd 배열 저장
{
odd[i] = *(p+a);
i++;
}
for(i = 0 ; i I ; i ++)
// odd bit stream 을 1 - 1 / 0 - -1 값을 가도록 serial to paralle encoder
{
if(odd[i] == 0)
odd[i] = -1;
else
odd[i] = 1;
}
return odd;
}/*=========================================================================*/
/* */
/* uniform random number generator */
/* */
/*=========================================================================*/double* generator(void) /* generator 함수는 지역변수로 generator 함수 탈출하는 순간
사라져 버립니다. 그래서 malloc 함수를 사용한다 malloc 함수는 동적으로 메모리 할당 되는 하는것
*/
{
srand((unsigned int)time(NULL)); //시간마다 서로 랜덤하게 신호 나올수 있게 함
FILE *fpbit_stream;
double *Rand_data = (double*)malloc(sizeof(double)*Number);
/* 더블형 Rand_data 포인터 변수에 (8바이트 메모리 * 랜덤샘플 갯수) 만큼을
더블형 rand_data 포인터 변수에 할당 */
for( a = 0 ; a Number ; a++)
{
Rand_data[a] = rand()/(double)RAND_MAX; // 값의 범위는 0~1.0 랜덤한게 발생 만개 생성후
if(Rand_data[a] 0.5) // 랜덤값이 0.5 크면 1 이다
{
Rand_data[a] = 1;
}
else // 랜덤값이 0.5 보다 작으면 0 이다
{
Rand_data[a] = 0;
}
return Rand_data; // 리턴값으로 포인터 변수인 Rand_data 즉 배열을 리턴 합니다.
}
/*======================*/
/* txt 파일에 쓰는 부분 */
/*======================*/
fpbit_stream = fopen(bit_stream.txt, w); // 파일 쓰기 스트림 열기
for( a = 0 ; a Number ; a++)
{
fprintf(fpbit_stream, %f\t\n, Rand_data[a]); // carrier wave 을 각 txt 에 쓰기
if(fpbit_stream == NULL) // 쓰기가 안되면 에러 출력
{
printf(Write Error!!\n);
return 0;
}
}
fclose(fpbit_stream); // 스트림 닫는다
return Rand_data; // 리턴값으로 포인터 변수인 Rand_data 즉 배열을 리턴 합니다.
}
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2694069 | unsigned 질문입니다. | 힘차 | 2025-05-07 |
2694012 | 전공 비전공자 개발자 (10) | 말글 | 2025-05-07 |
2693984 | 오버로딩이 무엇인가요? (2) | 헛매질 | 2025-05-07 |
2693956 | PlaySound재생이 안됩니다!(C에 음악넣기) | 지존 | 2025-05-06 |
2693928 | &와 *의 사용에 관한 명확한 이해 | 제나 | 2025-05-06 |
2693903 | 반복문 설명좀요 ㅠㅠ (2) | 란새 | 2025-05-06 |
2693869 | stdio.h 는 왜 쓰는건가요? (1) | 큰꽃들 | 2025-05-06 |
2693842 | 포인터 변수의 주소값끼리 더하는 것에 대해서 질문드립니다. (1) | 진솔 | 2025-05-05 |
2693811 | 소수 출력;;;; | 화이트캣 | 2025-05-05 |
2693788 | 이런 함수는 없나요? (3) | 앤드류 | 2025-05-05 |
2693758 | txt파일 불러와서 행렬로 저장 | 큰애 | 2025-05-05 |
2693727 | scanf 오류 문제!! (2) | 큰나래 | 2025-05-04 |
2693704 | 구조체 주소록 문제인데 도와주세요 (2) | 도1도캣 | 2025-05-04 |
2693676 | 열혈강의 c언어 질문입니다 | 하양이 | 2025-05-04 |
2693647 | 12.620000 을요 12.620 으로 어떻게 표현해요? (2) | 파도 | 2025-05-04 |
2693619 | 타이틀 코드.. | 단순드립 | 2025-05-03 |
2693591 | 컴파일 에러에서 질문드립니다 (3) | 게자리 | 2025-05-03 |
2693463 | 동적할당 이용시 fwrite사용을 어떻게 해야하나요..? (10) | 일본어못해요 | 2025-05-02 |
2693387 | 배열문제입니다 수정오류캡쳐했습니다 (6) | 연하얀 | 2025-05-01 |
2693356 | text 입출력 내림차순 질문입니다 ㅠ | 빛글 | 2025-05-01 |