#include
void print(char **strs)
{}
int main(int ac, char **av)
{
**av = *av[]
char *strs[] = { "hi", "god", "bye" };
char **strs = { };
char *dest;
char dest1[30] = {'a', 'b', 'c'}; // 얘는 수정됨 dest1[1] = 'c' 배열의 인덱스를 수정할 수 있음
dest1이 가리키는건 'a'가 있는 주소
char *dest2 = "abc" // 얘는 수정안됨 dest2[1] = 'b' 배열의 인덱스에 접근만 가능
dest2가 가리키는건 abc라는 문자열을 담은 공간의 주소
배열로 선언을하면 배열길이만큼 그 주소값에 값을 계쏙 바꿀 수 있음
**dest1; 얘는 문자열의 배열, 포인터를 담는 포인터
*src;
char ch = 'a';
src = &ch; src는 ch의 주소를 갖고 있고 *src = 'a'
dest = &src; dest는 src의 주소를 갖고 있고
*dest = src; *dest는 s">
#include
void print(char **strs)
{}
int main(int ac, char **av)
{
**av = *av[]
char *strs[] = { "hi", "god", "bye" };
char **strs = { };
char *dest;
char dest1[30] = {'a', 'b', 'c'}; // 얘는 수정됨 dest1[1] = 'c' 배열의 인덱스를 수정할 수 있음
dest1이 가리키는건 'a'가 있는 주소
char *dest2 = "abc" // 얘는 수정안됨 dest2[1] = 'b' 배열의 인덱스에 접근만 가능
dest2가 가리키는건 abc라는 문자열을 담은 공간의 주소
배열로 선언을하면 배열길이만큼 그 주소값에 값을 계쏙 바꿀 수 있음
**dest1; 얘는 문자열의 배열, 포인터를 담는 포인터
*src;
char ch = 'a';
src = &ch; src는 ch의 주소를 갖고 있고 *src = 'a'
dest = &src; dest는 src의 주소를 갖고 있고
*dest = src; *dest는 s">
#include
void print(char **strs)
{}
int main(int ac, char **av)
{
**av = *av[]
char *strs[] = { "hi", "god", "bye" };
char **strs = { };
char *dest;
char dest1[30] = {'a', 'b', 'c'}; // 얘는 수정됨 dest1[1] = 'c' 배열의 인덱스를 수정할 수 있음
dest1이 가리키는건 'a'가 있는 주소
char *dest2 = "abc" // 얘는 수정안됨 dest2[1] = 'b' 배열의 인덱스에 접근만 가능
dest2가 가리키는건 abc라는 문자열을 담은 공간의 주소
배열로 선언을하면 배열길이만큼 그 주소값에 값을 계쏙 바꿀 수 있음
**dest1; 얘는 문자열의 배열, 포인터를 담는 포인터
*src;
char ch = 'a';
src = &ch; src는 ch의 주소를 갖고 있고 *src = 'a'
dest = &src; dest는 src의 주소를 갖고 있고
*dest = src; *dest는 s">
/******************************************************************************
Online C Compiler.
Code, Compile, Run and Debug C program online.
Write your code in this editor and press "Run" button to compile and execute it.
*******************************************************************************/
#include <unistd.h>
#include <stdio.h>
void print(char **strs)
{}
int main(int ac, char **av)
{
**av = *av[]
char *strs[] = { "hi", "god", "bye" };
char **strs = { };
char *dest;
char dest1[30] = {'a', 'b', 'c'}; // 얘는 수정됨 dest1[1] = 'c' 배열의 인덱스를 수정할 수 있음
dest1이 가리키는건 'a'가 있는 주소
char *dest2 = "abc" // 얘는 수정안됨 dest2[1] = 'b' 배열의 인덱스에 접근만 가능
dest2가 가리키는건 abc라는 문자열을 담은 공간의 주소
배열로 선언을하면 배열길이만큼 그 주소값에 값을 계쏙 바꿀 수 있음
**dest1; 얘는 문자열의 배열, 포인터를 담는 포인터
*src;
char ch = 'a';
src = &ch; src는 ch의 주소를 갖고 있고 *src = 'a'
dest = &src; dest는 src의 주소를 갖고 있고
*dest = src; *dest는 src가 담고 있는 주주소를
**dest = *src; **dest는 src가 갖고 있는 주소가 가리키는 값
*dest2[]; 얘도 문자열의 배열
{
0 "abcde",
1 "edfge",
2 "dfwt"
}
dest3[][]; 얘는 2차원 배열
{
0 { 'a', 'b', 'c'},
1 { 'd', 'd', 't'}
}
그런데 포인터로 선언을하면 주소값 하나만 담을 수 있음
}